gltexture: Make sure downloading textures works in a different thread
This happens in the real world when using the inspector to look at a node recording of a GStreamer video while the video is still playing.
GStreamer will use the GL context in a different thread while we are busy trying to download it.
A test is included, as is a fix for the NGL renderer trying to be fancy instead of just calling download_texture().