input: Send leave and enter pair when the surface moves under the cursor

The client needs to know that the pointer is at a different position in
its surface.  We can't send motion as that corresponds to the pointer
actually moving.  Leaving the surface and entering at the new position
is a better semantic match and doesn't correspond to pointer motion
or user input.

https://bugs.freedesktop.org/show_bug.cgi?id=71927
diff --git a/src/compositor.h b/src/compositor.h
index 8778aff..8fb8afb 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -328,6 +328,7 @@
 	uint32_t grab_time;
 
 	wl_fixed_t x, y;
+	wl_fixed_t sx, sy;
 	uint32_t button_count;
 
 	struct wl_listener output_destroy_listener;