cocoa: resize OpenGL view size each time the window is resized

Fixes glitches that can appear when the OpenGL view has not been resized
after a window resize.

https://bugzilla.gnome.org/show_bug.cgi?id=711672
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