Since much of the CVOpenGLES... family of functions and structs are opaque, it will be a challenge to provide an effective and complete implementation directly. In the longer term, we might consider doing so.
However, your second suggestion, of extracting Metal textures from CoreVideo makes a lot of sense.
What is currently missing from MetalGL to allow this to happen is the ability to create an OpenGL texture reference from the Metal texture returned from CVMetalTextureCacheCreateTextureFromImage, so that it can be used in functions like glBindTexture().
One of the goals of MetalGL is to provide the ability to combine OpenGL and Metal functionality, so this is definitely something we have planned. It should be fairly straightforward, and we should be able to make that available by the end of this month. I’ll post more here when it is ready.