x11: Always use the same display connection from the GL thread

The other display connection might be used by async calls from elsewhere
at the same time.

https://bugzilla.gnome.org/show_bug.cgi?id=704247
x11: Protect event display connection with a mutex

We use it from different threads and need to serialize the
accesses to it.
glimagesink: Fix some memory leaks and properly set up the buffer pool
memory: copy properly depending on where the most recent data is
filter: fix pad template caps

upload is for the sink template
download is form the src template
wayland: remove fullscreen
utils: generate a RGBA texture in all cases
glimagesink: Remove GValue usage for fraction handling
gltestsrc: Fix usage of FBO API
tests/examples: fix and port some of the examples.

Realize widgets, remove glupload element.
tests/examples: port some of the examples.

This commit is a first step, removes glupload, switch new-decoded-pad
to pad-added, but these examples still fail for various reasons.
gl: Some less long/ulong/gulong usage
download: fix compiler warning about missing string format
build: fix build on OS X

Saying that it couldn't find any OpenGL api's
upload: overhaul and addition of new video formats

use the shaders from eglglessink (adapted for Desktop GL)
error out properly
upload: remove _thread variants of the API
download: remove _thread variants of the API
up/download: check return values

So we fail properly
download: propogate errors from the GL thread