Building an OpenGL-friendly GameObject super class