TODO (681B)
1 2 - graphics 3 - break InputConfiguration into independent Layout/Buffer/Texture/etc state mgmt 4 - frame timing / fps 5 - smarter (any) shader program caching on OpenGL 6 7 - input 8 - better keyboard input abstraction (make work on non-win32) 9 10 - compatibility 11 - test on OpenGL ES 3.0 12 - test with AMD GPUs 13 - make buildable on OSX 14 15 - content pipeline 16 - commandline args to override asset path 17 - asset compiler 18 - asset compiler: texture compression 19 - asset compiler: hlsl compilation 20 - asset compiler: object/mesh import and conversion 21 - asset loading from packed asset file 22 - asset loading path search (override path, default path, default packed asset file, etc) 23