Unified multiple definitions of container_of() macro.

Removed duplicate definitions of the container_of() macro and
refactored sources to use the single implementation.

Signed-off-by: Jon A. Cruz <jonc@osg.samsung.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
diff --git a/src/data-device.c b/src/data-device.c
index 8cdf223..825b734 100644
--- a/src/data-device.c
+++ b/src/data-device.c
@@ -32,6 +32,7 @@
 #include <assert.h>
 
 #include "compositor.h"
+#include "shared/helpers.h"
 
 struct weston_drag {
 	struct wl_client *client;