simplify opengl objects to be opaque handles