[#3] Fixed structuring of classes to be more polymorphic.
[#3] Renamed AnimationDef to AnimationSetDef and fleshed it out a little bit.
[#3] Fleshed out animation loading code.
[#3] Animation sets now load from a YAML node and load in child AnimationDef objects..
[#3] Added test animation. Added bindings for Animation related asset classes.
Destructor of AssetDefBase now clears the asset pointer explicitly.
[#3] Test animation now loads without errors.
Improved detail of error messages from Lua scripts.
Moved sprite creation logic to it's own class which can be added to GameObject to display 2d textures. Rewrote several classes to utilise this change.
Component setup() methods are called on the first update after being added to a GameObject now.
Sprites that use the same texture now share the same material. Reverted changes to BatchedMesh that were not efficient and confusing.