Fix screencasting on nvidia+shmem
glReadPixels reads from the bound framebuffer, so create an offscreen framebuffer and attach the texture to it
Make nvidia use the GLES path as glGetTexImage returns a black image
Fixes: BUG:476602
Edited by Alessandro Astone