Clients: Fix memleak issues in various clients of weston

In many clients of weston, Display was not being destroyed so added it.
Also destroy windows, widgets which were not being destroyed.

Signed-off-by: vivek <vivek.ellur@samsung.com>
Reviewed-by: Pekka Paalanen <ppaalanen@gmail.com>
Reviewed-by: Bryce Harrington <b.harrington@samsung.com>
diff --git a/clients/dnd.c b/clients/dnd.c
index a463d6f..620cfff 100644
--- a/clients/dnd.c
+++ b/clients/dnd.c
@@ -639,6 +639,14 @@
 	return dnd;
 }
 
+static void
+dnd_destroy(struct dnd *dnd)
+{
+	widget_destroy(dnd->widget);
+	window_destroy(dnd->window);
+	free(dnd);
+}
+
 int
 main(int argc, char *argv[])
 {
@@ -660,5 +668,8 @@
 
 	display_run(d);
 
+	dnd_destroy(dnd);
+	display_destroy(d);
+
 	return 0;
 }