Added MappingCursorRenderer

mapping cursors are used for units greater, whose size is than 1x1
Added Trait models
Updated unit data to use Trait models
Added Table set_from_strmap extension
Added a homebrew prettyprint

It isn't the best, but it works
Updated Caches to use CacheBase.cache
Added Hash core extension
Added DataModel::Metal#copy

Used for cleanly cloning a model
Added Vector and Numeric extensions
Setup LunarMetal.texture Cache
Added LunarMetal.config
Tileset is now a SpritesheetInfo

Units now use a UnitSpritesheetInfo instead of the original SpritesheetInfo base
Added World model
Split mixins into their respective files
Map cursors are now Activatable
Cursors are now rendered to the system scale
MappingCursorRenderer#mapping is a Table
Camera now uses the system tilesize
Added RenderArray container

Its just a monkey patched RenderContainer + Array
MapView now loads the correct tileset Spritesheet