GtkGLArea: Support alpha blending

This adds a has_alpha option to GtkGLArea, which determines of the gl
buffer in use has an alpha channel or not.

If it doesn't we use the old code using render buffers. However, render
buffers don't support alpha when blitting, so in the alpha case we use
a texture which we blend onto the backbuffer.

In order to properly blend on top of already drawn cairo content we
start by copying the area below the texture destination to the back buffer.

This also adds an alpha toggle to gdkgears
Split out gears widget to a separate file
Add testglblending to test gtk/gl layering
GtkGLArea: Add depth buffer option