Added support for components requiring other components.
Compiler prep for box2d support.
Merge branch 'master' into example-collision