Set private Component fields directly with @:allow.
Move Sprite._flags up to Component.

Also a semi-public API for defining custom flags in your own components
(carefully).
Have Entity.get() check types to prevent weird errors.

Before, this code would throw an error in Flash, and produce unexpected
results in JS:

    var entity = new Entity().add(new ImageSprite(...));
    var fillSprite = entity.get(FillSprite);

Now entity.get(FillSprite) will consistently return null, unless the
type of Sprite component is actually a FillSprite.

The type check incurs a bit of overhead, but it's only done when
necessary thanks to macro magic. eg: get(Sprite) doesn't need the type
check and is faster than get(FillSprite).

Fixes #103.
Add Component.onStart/onStop.

Refs #199.
Add Entity.getFromParents().

Really super awesome when combined with onStart:

    class MyComponent extends Component
    {
        override public function onStart ()
        {
            var manager = owner.getFromParents(MyManager);
        }
    }
Add Entity.getFromChildren().