caopengllayer: move code to OpenGL implementation
This moves the code so that the OpenGL provider part is the module driving the rendering instead of having the vout_display part create a fake OpenGL provider and use it from the display callback.
It prepares the code to have only the OpenGL provider part, while highlighting why the new OpenGL callback API, ie. executing callbacks from a context provided by the OpenGL provider, is required here.