[X11] Added dllmap for Mac OS X (XQuartz)
[Bind] Use byte for GLboolean return types

GLboolean is typedefed as an unsigned char.  It appears that `[return:
MarshalAs(UnmanagedType.U1)]` is ignored in calli p/invokes, so we need
to take care of this ourselves by emitting byte instead of bool for the
p/invoke signature. The public API remains unchanged.

Fixes issue #129.
[Rewrite] Implement byte -> bool marshalling

Since GL_TRUE and GL_FALSE match .Net true and false (1 and 0,
respectively), we can simply reinterpret the byte value as a bool.

In the future, we could issue a `(if value == 0 then false else true)`
statement for added safety, but this does not appear to be necessary
right now.
[Bind] Fixed a System.FormatException
[ES][GL] Regenerated bindings
Merge pull request #132 from thefiddler/fixbool2

 Fix bool return types
[X11] Match win32 wheel coordinate system

OpenTK uses the win32 wheel coordinate system, where
(+h, +v) = (right, up). XI2 uses (+h, +v) = (right, down)
instead, so we need to flip the vertical offset.

Fixes issue #133 and https://github.com/mono/MonoGame/issues/2686
[Mac] Match win32 scrolling coordinates
[Mac] Add note for higher precision pixel scroll
[Mac] Fix Mouse.GetState() h-wheel

External mice will now report horizontal scrolling in the low-level
`Mouse.GetState()` API. The touchpad apparently creates an emulated
mouse device that does not report horizontal wheel scrolling events.

Touchpad support probably requires a proper multitouch implementation.
Merge pull request #134 from thefiddler/scrollfix

[Mac][X11] Match win32 wheel coordinate system
Merge branch 'xquartz' of https://github.com/thefiddler/opentk into xquartz
[X11] Implement support for XQuartz (X11 on Mac)
[X11] Check before monitoring /dev/input

This avoids a crash on non-Linux systems that do not support /dev/input.
[X11] Throw exception if GLX is not supported

You cannot create an X11/OpenGL context without the GLX extension.
OpenTK will now throw a `NotSupportedException` when this condition is
encountered.

In some cases, it may be possible to enable the EGL backend by passing
`GraphicsContextFlags.Embedded` to the `GraphicsContext` constructor.
[X11] Added glXQueryVersion DllImport.
[X11] Construct X11 Factory first if enabled

This allows us to use X11 on Windows and Mac, if explicitly requested
by the user via `ToolkitOptions.Backend`.
[X11] Remove unused XCreateWindow overloads
[X11] Send ClientMessage to exit input event loop

To do that, we need a custom InputOnly window. This window is only used
for receiving the exit ClientMessage - XI2 input is still received
through the root window.

Fixes issue https://github.com/mono/MonoGame/issues/2711
Merge pull request #135 from thefiddler/xquartz

XQuartz support (X11 on Mac)