xwm: let the shells decide the position of X windows

The xwm used to automatically send to Xwayland the position of X windows
when that changed, using the x,y of the primary view of the surface.
This works fine for the desktop shell but less so for others.
This patch adds a 'send_position' vfunc to the weston_shell_client that
the shell will call when it wants to let Xwayland know what the position
of a window is.
The logic used by the desktop-shell for that is exactly the same the xwm
used to have.
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: David Fort <contact@hardening-consulting.com>
diff --git a/src/compositor.h b/src/compositor.h
index 8a5aa91..a427088 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -86,6 +86,7 @@
 
 struct weston_shell_client {
 	void (*send_configure)(struct weston_surface *surface, int32_t width, int32_t height);
+	void (*send_position)(struct weston_surface *surface, int32_t x, int32_t y);
 };
 
 struct weston_shell_interface {
@@ -94,9 +95,6 @@
 	struct shell_surface *(*create_shell_surface)(void *shell,
 						      struct weston_surface *surface,
 						      const struct weston_shell_client *client);
-	struct weston_view *(*get_primary_view)(void *shell,
-						struct shell_surface *shsurf);
-
 	void (*set_toplevel)(struct shell_surface *shsurf);
 
 	void (*set_transient)(struct shell_surface *shsurf,