backend/wayland: handle display errors more gracefully
backend/wayland: handle display errors more gracefully

Previously, an error on the remote Wayland display would result in an
infinite loop priting:

    2020-01-09 13:39:03 - [wayland] Source dispatch function returned negative value!
    2020-01-09 13:39:03 - [wayland] This would previously accidentally suppress a follow-up dispatch

This happens when the remote compositor disconnects the client because
of a protocol error, for instance.

Handle wl_display_dispatch and wl_display_dispatch_pending returning -1
by terminating the local display and printing an error.

swaywm/wlroots,SirCmpwn/wlroots,ascent12/wlroots,swaywm/wlroots,ascent12/wlroots