gl: Don't steal callers reference when setting non-floating elements via properties

Introduced by fbef9220d3dc2f785081c4766901aab2ecfaed10. The code there
is only correct for elements we get from signals.
diff --git a/ext/gl/gstglfilterbin.c b/ext/gl/gstglfilterbin.c
index 486b0fe..f6f7856 100644
--- a/ext/gl/gstglfilterbin.c
+++ b/ext/gl/gstglfilterbin.c
@@ -245,7 +245,7 @@
 
   switch (prop_id) {
     case PROP_FILTER:
-      gst_gl_filter_bin_set_filter (self, g_value_get_object (value));
+      gst_gl_filter_bin_set_filter (self, g_value_dup_object (value));
       break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
diff --git a/ext/gl/gstglmixerbin.c b/ext/gl/gstglmixerbin.c
index 25e18ff..0c52c29 100644
--- a/ext/gl/gstglmixerbin.c
+++ b/ext/gl/gstglmixerbin.c
@@ -473,7 +473,7 @@
   switch (prop_id) {
     case PROP_MIXER:
     {
-      GstElement *mixer = g_value_get_object (value);
+      GstElement *mixer = g_value_dup_object (value);
       /* FIXME: deal with replacing a mixer */
       g_return_if_fail (!self->mixer || (self->mixer == mixer));
       gst_gl_mixer_bin_set_mixer (self, mixer);
diff --git a/ext/gl/gstglsinkbin.c b/ext/gl/gstglsinkbin.c
index 1c0d188..a3093d0 100644
--- a/ext/gl/gstglsinkbin.c
+++ b/ext/gl/gstglsinkbin.c
@@ -347,7 +347,7 @@
 
   switch (prop_id) {
     case PROP_SINK:
-      gst_gl_sink_bin_set_sink (self, g_value_get_object (value));
+      gst_gl_sink_bin_set_sink (self, g_value_dup_object (value));
       break;
     case PROP_CONTRAST:
     case PROP_BRIGHTNESS:
diff --git a/ext/gl/gstglsrcbin.c b/ext/gl/gstglsrcbin.c
index 672e4e0..bae46a0 100644
--- a/ext/gl/gstglsrcbin.c
+++ b/ext/gl/gstglsrcbin.c
@@ -221,7 +221,7 @@
 
   switch (prop_id) {
     case PROP_SRC:
-      gst_gl_src_bin_set_src (self, g_value_get_object (value));
+      gst_gl_src_bin_set_src (self, g_value_dup_object (value));
       break;
     default:
       if (self->src)