Use wl_resource_create() for creating resources

This commit sets the version numbers for all added/created objects.  The
wl_compositor.create_surface implementation was altered to create a surface
with the same version as the underlying wl_compositor.  Since no other
"child interfaces" have version greater than 1, they were all hard-coded to
version 1.

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
diff --git a/src/compositor.h b/src/compositor.h
index 6d2c683..8070409 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -594,7 +594,7 @@
 
 	union {
 		struct wl_shm_buffer *shm_buffer;
-		struct wl_buffer *legacy_buffer;
+		void *legacy_buffer;
 	};
 	int32_t width, height;
 	uint32_t busy_count;