Clarified language for file drop callback.
Aligned libGL soname to Linux ABI.

Fixed #261.
Formatting.
Added glfwGetWindowFrameSize.
Added use of frame size to multi-window test.
Formatting.
Added support for _NET_REQUEST_FRAME_EXTENTS.
Formatting.
Split out TLS code into separate modules.

This allows the TLS code to be re-used by partial ports like Wayland and
Mir and allows the EGL backend to use TLS on Windows even when GLFW is
compiled as a DLL.
Added TLS module headers to project.
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.
Fixed option value.
Separated joystick state from window system state.

This is partially in preparation for pending support for additional
joystick APIs like XInput, DirectInput and IOHID.
Updated change log.
Formatting and cleanup.
Shortened Wayland platform prefix.
Wayland error reporting work.