spice-widget: Ungrab mouse on leave event on Wayland

The Spice Gtk widget relies on pointer grabs to receive all pointer
events even after the pointer has left the window.

While that works on X11, on Wayland there is no active pointer grab,
so once the pointer has left the SPICE widget on Wayland, the events
are routed to the window with the pointer focus instead of ours.

To avoid the problem, on Wayland, we simply ungrab the pointer once it
leaves the window.

Thanks-to: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
spice/spice-gtk#83
5 jobs for issue83 in 13 minutes and 42 seconds (queued for 56 seconds)
latest
Status Job ID Name Coverage
  Test
failed #116612
makecheck

00:02:25

failed #116613
makecheck-meson

00:02:46

failed #116614
makecheck_simple

00:02:53

failed #116615
makecheck_simple-meson

00:02:52

failed #116616
make-win

00:02:44

 
Name Stage Failure
failed
make-win Test
  xz-devel-5.2.4-3.fc29.x86_64                                                  
zip-3.0-23.fc29.x86_64

Complete!
$ git clone ${CI_REPOSITORY_URL/spice-gtk/spice-protocol}
Cloning into 'spice-protocol'...
remote: The project you were looking for could not be found.
fatal: repository 'https://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@gitlab.freedesktop.org/ofourdan/spice-protocol.git/' not found
ERROR: Job failed: exit code 1
failed
makecheck_simple-meson Test
  xz-devel-5.2.4-3.fc29.x86_64                                                  
zip-3.0-23.fc29.x86_64

Complete!
$ git clone ${CI_REPOSITORY_URL/spice-gtk/spice-protocol}
Cloning into 'spice-protocol'...
remote: The project you were looking for could not be found.
fatal: repository 'https://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@gitlab.freedesktop.org/ofourdan/spice-protocol.git/' not found
ERROR: Job failed: exit code 1
failed
makecheck_simple Test
  xz-devel-5.2.4-3.fc29.x86_64                                                  
zip-3.0-23.fc29.x86_64

Complete!
$ git clone ${CI_REPOSITORY_URL/spice-gtk/spice-protocol}
Cloning into 'spice-protocol'...
remote: The project you were looking for could not be found.
fatal: repository 'https://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@gitlab.freedesktop.org/ofourdan/spice-protocol.git/' not found
ERROR: Job failed: exit code 1
failed
makecheck-meson Test
  xz-devel-5.2.4-3.fc29.x86_64                                                  
zip-3.0-23.fc29.x86_64

Complete!
$ git clone ${CI_REPOSITORY_URL/spice-gtk/spice-protocol}
Cloning into 'spice-protocol'...
remote: The project you were looking for could not be found.
fatal: repository 'https://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@gitlab.freedesktop.org/ofourdan/spice-protocol.git/' not found
ERROR: Job failed: exit code 1
failed
makecheck Test
  xz-devel-5.2.4-3.fc29.x86_64                                                  
zip-3.0-23.fc29.x86_64

Complete!
$ git clone ${CI_REPOSITORY_URL/spice-gtk/spice-protocol}
Cloning into 'spice-protocol'...
remote: The project you were looking for could not be found.
fatal: repository 'https://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@gitlab.freedesktop.org/ofourdan/spice-protocol.git/' not found
ERROR: Job failed: exit code 1