Working entities, rendering and input!

AssetCache is used to load assets from the filesystem and store them.
All entities, assets and images should be made a state's 'create'
function to ensure that a valid renderer exists.