Merge pull request #37 from doodaddy64/development

Development
- Fixed script string corruption from "onCollision()" & "onEndCollision()" callbacks.
- Added support for RectI, RectF & b2AAAA to schema.
- Added support for Scene.Controllers to schema.
- Scehema now adds static fields in reverse order so that root type is last.
- Added support for Scene.Preloads to schema.
- Schema now uses schema xs:group to reduce the schema size by approximately half.
- Added support for ColorF & ColorI for both values and stock-color enums.
- Schema uses attribute groups which drastically reduces the schema size.
- Added behavior component schema (there are no engine types involved so it's an unrestricted schema).
- Added some input assets for safety.
- Fixed bad default when writing the field SceneObject::PickingAllowed.
- Taml now writes a relative schema location if "$pref::T2D::TAMLSchema" is set.  Simply specifying the filename is relative to the executable.  Using "blah/foo.xsd" is a sub-folder relative to the executable.
- Taml now generates a schema using the global function "generateTamlSchema()" which now has no arguments as it uses the variable "$pref::T2D::TAMLSchema" for consistency.  You will get a warning if this is not set and no schema will be written.
- Added an empty "$pref::T2D::TAMLSchema" in AppCore default preferences.
- Shifted the Taml persistence of the CompositeSprite->SpriteBatch->SpriteBatchItem "down" a type to remove knowledge from the parents.
- Added reserved Taml fields of "Name" (normalized string), "TamlId" (positive integer) and "TamlRefId" (positive integer) to the Taml schema.
- Removed redundant field from Taml.
- CompositeSprite now only writes non-default fields for Default-stride/size/angle.
- Added Schema for CompositeSprite and all sub-sprites.
- Added Schema for ImageAsset explicit-mode cells.
- Added Schema for ParticleAsset & ParticleAssetEmitter.
- There you go XCode, the space you insisted upon.
- Added the ability to add/remove any SimObject as a listener of input events.
- Sandbox toys are now automatically added as an input listener on the SandboxWindow object therefore they receive direct input events without the need to use the messy "package" stuff.
- Sandbox manipulation system is now an input listener of the SandboxWindow.
- Scene PickArea(), PickPoint(), pickCollision() & PickRay() now accept an empty string for the group/layer masks to mean "all" groups/layers.  This is slightly better than having to use "-1" to mean all.