gl: Use GL_TEXTURE_2D instead of GL_TEXTURE_RECTANGLE

We create our textures (in Desktop GL) with GL_TEXTURE_RECTANGLE,
vaapi attempts to bind our texture to GL_TEXTURE_2D which throws a
GL_INVALID_OPERATION error and as thus, no video.

Also, by moving exclusively to GL_TEXTURE_2D and the npot extension
we also remove a difference between the Desktop GL and GLES2 code.

https://bugzilla.gnome.org/show_bug.cgi?id=712287
cocoa: allow to call set_window_handle before to create glcontext

So that it actually make cocoa videooverlay example work again.

Fixes bug https://bugzilla.gnome.org/show_bug.cgi?id=719758
glvideomixer: Use correct coordinates after the switch from GL_TEXTURE_RECTANGLE to GL_TEXTURE_2D

https://bugzilla.gnome.org/show_bug.cgi?id=720177
osx: allow x11/glx backend and set default runtime to cocoa/nsgl

https://bugzilla.gnome.org/show_bug.cgi?id=719757
testsrc: use _context_get_gl_api
filter: a little code cleanup
display: remove _{set,get}_context

A GstGLDisplay doesn't need a GstGLContext and its use
was cause a reference cycle
use GstContext for GstGLDisplay propogation

implements the hooks required in GstElement::set_context and the context query
use the allocation query to propogate GstGLContext

uses the GstVideoGLTextureUploadMeta api type for the query
mixer: unmap the video frames we map

plugs a memory leak
memory: provide copy_into_texture
fail in context query response if display is NULL

allows tee's in the pipeline i.e.
videotestsrc ! tee name=t ! queue ! glimagesink t. ! queue ! glimagesink
mixer: give access to the pads at render time

allows us to move the video frame mapping somewhere else
upload: add support for GstVideoGLTextureUploadMeta
use GL_TEXTURE_2D instead of GL_TEXTURE_RECTANGLE

We create our textures (in Desktop GL) with GL_TEXTURE_RECTANGLE,
vaapi attempts to bind our texture to GL_TEXTURE_2D which throws a
GL_INVALID_OPERATION error and as thus, no video.

Also, by moving exclusively to GL_TEXTURE_2D and the npot extension
we also remove a difference between the Desktop GL and GLES2 code.
filter: handle capsfeatures properly
mixer: handle 0/1 framerate better in caps
mixer: adtvertise GstVideoGLTextureUploadMeta
update .gitignore for the gst testing changes
Bump gstreamer requirement to 1.2