image-source: hide gstreamer from renderers

This moves the majority of the gstreamer code out of rig-renderer.c and
into rut-image-source.c and also makes the handling of video and static
image sources generally more consistent simplifying things somewhat in
the renderer. Since the intention is for us to support multiple
renderers in Rig we want to make sure we factor out any utilities that
could be shared. Also we want to support other video providers than
gstreamer, such as using a HTMLVideoElement for web based applications.