Add initial implementation of the extended math library.
Allow scene node scripts to use the new extended math library.

Part of this commit also improves the efficiency of loading scripts. Now, a single global script object is used for the instantiation and data retrieval instead of creating a new one each time.
GUI cleanup.
Add skeleton base class for components needing collision shapes.

This will be used by the dynamics and proximity components. The idea is to make it much easier to work with complex collision shapes without having to rewrite a bunch of code.
Connect DynamicsComponent and ProximityComponent to CollisionShapeComponent.
More work on linking DynamicsComponent and ProximityComponent to CollisionShapeComponent.
Finish linking DynamicComponent and ProximityComponent to CollisionShapeComponent.

This commit also adds serialization/deserialization to ProximityComponent.
Add support for adding Proximity components to scene nodes via the editor.

The proximity component will be used for doing things like triggers.