Not hacky enough, need to focus on getting end product working, then going back and cleaning it up.
Actual hacking begins here.  Also taking the opportunity to play with some new C++ features.
Compiles, playing with lvalue vs rvalue.
shader_program::get_uniform_location, game loading, playing with std::unique_ptr
Resources.