wayland: Use wl_display_dispatch_queue_timeout for dispatching with timeout
This is simplifying the wayland dispatching by moving the timeout handling to libwayland (wayland/wayland!263 (merged)) and adding a fallback until a new libwayland has propagated for enough.