xwayland: Fix infinite loop at startup

Mutter recently added headless tests, and when running those tests the
Wayland compositor runs for a very short time.

Xwayland is spawned by the Wayland compositor and upon startup will
query the various Wayland protocol supported by the compositor.

To do so, it will do a roundtrip to the Wayland server waiting for
events it expects.

If the Wayland compositor terminates before Xwayland has got the replies
it expects, it will loop indefinitely calling `wl_display_roundtrip()`
continuously.

To avoid that issue, add a new `xwl_screen_roundtrip()` that checks for
the returned value from `wl_display_roundtrip()` and fails if it is
negative.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Roman Gilg <subdiff@gmail.com>
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
4 jobs for display-roundtrip-loop in 4 minutes and 39 seconds (queued for 1 second)
Status Job ID Name Coverage
  Docker Image
passed #2449200
debian-testing

00:00:16

 
  Build And Test
passed #2449203
autotools

00:04:22

passed #2449205
meson

00:01:03

passed #2449206
meson-noglamor

00:00:46