GstDeviceMonitor: Don't remove unmatched class filters

If no providers for a particular class could be found, then removing unmatched
filters would cause all devices to be returned instead which is not at all what
the user intended. We still return 0 for unmatched filters.
diff --git a/gst/gstdevicemonitor.c b/gst/gstdevicemonitor.c
index a9eda0a..4e6ecb3 100644
--- a/gst/gstdevicemonitor.c
+++ b/gst/gstdevicemonitor.c
@@ -695,12 +695,9 @@
   /* Ensure there is no leak here */
   g_assert (factories == NULL);
 
-  if (matched) {
+  if (matched)
     id = filter->id;
-    g_ptr_array_add (monitor->priv->filters, filter);
-  } else {
-    device_filter_free (filter);
-  }
+  g_ptr_array_add (monitor->priv->filters, filter);
 
   GST_OBJECT_UNLOCK (monitor);