Simple OpenGL 3+ abstraction layer