Lots of improvements including multiple window support, proper state management, in-progress SDL_Renderer and OpenGL windows that should work roughly the same, shaping up