Fixes incorrect version messages
Extracts fragment and vertex shaders to own classes
Renamed graphics to geometries
Adds a geometry register to share common geometry primitives
Refactors shader into implementation class
Removes setup methods in renderer
Refactors into different scene objects
Adds scene object
Adds shader register support