Attempt at an OpenGL Engine