Experimental Wayland backend

Introduces an unfinished experimental Wayland backend. Comes with a patch making the EGL backend more up to date (i.e. builds and runs).

Details copied from the commit message:

    This patch introduces a new backend that enables GLFW applications to
    run on Wayland. For now, only output is supported (windowed and
    fullscreen). Pointer cursor management, input devices, clipboard etc are
    not supported yet.
    
    There are some concepts that can not be supported, more specifically
    glfwSetWindowPos, glfwGetWindowPos and glfwSetCursorPos, as they are not
    supported by Wayland.
    
    This patch also changes the time and joystick implementations used by the
    X11 backend to be shared between the Wayland backend and the X11 backend.