background: Don't bother supporting alpha channels for gradients
background: Merge the code for creating the color texture into here

It's unused anywhere else.
compositor: Don't use cogl_texture_new_with_data in the obvious cases

It's a deprecated API that can surprise us. Namely, when the internal
format passed is COGL_PIXEL_FORMAT_ANY, it will *always* allocate an
RGBA8888 pixel format texture, even if we only passed it a RGB format
or even an A8 format.

cogl_texture_2d_new_with_data is the newer, better API and doesn't have
these warts.
background: Don't render with blending when we don't need to

If we have an opaque background image, then we shouldn't need to blend
against anything for it to work. Turn off blending in this case.