Change System.init to return a promise in order to work with platform initialization that may be asynchronous.

FlashPlatform's initialization is actually asynchronous, in that we must wait for Stage3DRenderer to acquire a Context3D before we're ready to roll. Since the Flash platform requires a Context3D before textures can be loaded, quickly loading textures after calling System.init was causing undesirable behavior, due a Context3D not yet being available. With this change, we can wait for a platform to become ready before continuing with other work.
Fix issue #35 by writing FlashEmbeddedAssetPackLoader and integrating hxswfml into the build process.

Since embedded assets load significantly faster than assets on the filesystem, this fix depends on @d29c102. To start embedding assets into flash projects, set embed_assets: true in flambe.yaml.
Fix a bug in waiting for the embedded asset library to be prepared before continuing with the build.
Add width and height options to flambe.yaml and use them to write the flash header during the build process.
Don't set -flash-header when embedding assets, but instead take the header from the asset library. This change facilitates later using -D flash-use-stage to absorb the asset library's timeline so that assets can be stored in a frame after initialization code for the purpose of preloading.
Also a few minor formatting fixes.
Merge commit 'c4a20a7df8b2aa221a23ef00fe29940b4bc63b58'
Merge commit 'd29c102391800ba61d0ea9dfbd1435de42645ed8'