configure: bump libwayland requirements

wl_surface role error codes were added during the 1.6.90 development to
libwayland.

Reported-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
compositor-x11: Fix some shutdown crashes

The assertion in x11_compositor_find_output() can trigger during normal
shutdown, for example, when moving the mouse while hitting a hotkey to
close the weston window.

Instead we can remove the assert(), return NULL, and discard events
we can't find a destination output for.

v2 Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
v1 Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
test: Add a compositor test-mode

For now, the intention of test-mode is to have a way to allow a client
to control the presentation clock to allow capturing deterministic
screenshots during testing.

Once in test-mode you're trapped in test-mode forever.
compositors: Wrap clock_gettime() usage

In preparation for a future patch which allows test clients to control
the presentation clock, we wrap any clock_gettime() of the presentation
clock in weston_compositor_presentation_clock_gettime().
test: Add clock_settime()

Add a way to set the presentation clock to an arbitrary value, but only
when in test mode.
compositor: Make repaint loop exit frequently in test mode

When in test mode the clock is only updated by client intervention.  If
an animation is trying to run with a clock that won't advance the
compositor will remain stuck in a tight loop.

To stop this, we don't let weston_output_reschedule_repaint set
repaint_needed if we're already scheduled in test mode.
test: Add client driven repaint

Allow a test client to call for a repaint.
compositor-headless: Add test mode

Add a test mode callback for compositor-headless that allows client
driven repaint.