data-device: Don't leak wl_data_source in destructor

We used to refcount the data source, but switched to using a destroy signal
instead.  When we switched we forgot to free the source insted of
unreffing it.
diff --git a/src/data-device.c b/src/data-device.c
index 6e6e7f2..bb1dc75 100644
--- a/src/data-device.c
+++ b/src/data-device.c
@@ -502,7 +502,7 @@
 
 	wl_array_release(&source->mime_types);
 
-	source->resource = NULL;
+	free(source);
 }
 
 static void