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/shared/frame.c b/shared/frame.c
index a039d15..35e6b65 100644
--- a/shared/frame.c
+++ b/shared/frame.c
@@ -578,6 +578,14 @@
 		*height = frame->height - frame->opaque_margin * 2;
 }
 
+int
+frame_get_shadow_margin(struct frame *frame)
+{
+	frame_refresh_geometry(frame);
+
+	return frame->shadow_margin;
+}
+
 uint32_t
 frame_status(struct frame *frame)
 {