Lazify FrameDelta initialization

Most frames will only be shown way after they've been initially created, so we can just delay the calculations required for initializing them until that time. That also reduces memory usage quite substantially for SWFs with long timelines.
Change the SWF parser's readBinary function to copy bytes instead of returning subarrays

At least for all usages that don't further process the bytes but just pass them on to the script thread. Otherwise, they just keep the entire SWF parsing buffer alive, potentially multiple times. Reduces memory usage by up to 40% (i.e., a certain specific case I measured goes from 263MB to 152MB.)
Merge pull request #1411 from tschneidereit/nat

Memory optimizations/ leak fixes