xdg-shell: Add set_margin request

This is used to figure out the size of "invisible" decorations, which we'll
use to better know the visible extents of the surface, which we can use for
constraining, titlebars, and more.
diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
index b9b49cb..a73e8e0 100644
--- a/desktop-shell/shell.c
+++ b/desktop-shell/shell.c
@@ -3172,6 +3172,18 @@
 }
 
 static void
+xdg_surface_set_margin(struct wl_client *client,
+			     struct wl_resource *resource,
+			     int32_t left,
+			     int32_t right,
+			     int32_t top,
+			     int32_t bottom)
+{
+	/* Do nothing, Weston doesn't try to constrain or place
+	 * surfaces in any special manner... */
+}
+
+static void
 xdg_surface_set_app_id(struct wl_client *client,
 		       struct wl_resource *resource,
 		       const char *app_id)
@@ -3309,6 +3321,7 @@
 static const struct xdg_surface_interface xdg_surface_implementation = {
 	xdg_surface_destroy,
 	xdg_surface_set_transient_for,
+	xdg_surface_set_margin,
 	xdg_surface_set_title,
 	xdg_surface_set_app_id,
 	xdg_surface_pong,