Added GLFW_INCLUDE_ES31.

Fixes #255.
Reverted 43095307da327e82f136c5fe17d4fdecb3f78cb6.

The proposed fix broke for multiple displays of the same model.
Fixed bad change log edit.
Added support for custom system cursors.

This adds 3 functions to the GLFW API: glfwCreateCursor,
glfwDestroyCursor and glfwSetCursor.
Cleanup.
Added GLFWimage struct.
Formatting.
Updated change log.
First draft of physical key fix for Windows.
Updated change log.
Added custom cursors to news.
Clarified thread safety statement.
Confined remaining functions to main thread.
Removed superfluous cast.
Fixed MinGW detection.
Fixed crash on monitor disconnection.
Introduce experimental Wayland backend

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.
Removed unused file.
Removed duplicate addition of POSIX time header.
Made Wayland header macro structure match X11.