[X11] Added dllmap for Mac OS X (XQuartz)
[SDL] Do not attempt to use versions < 2.0.0

Versions prior to 2.0.0 are not ABI-compatible with 2.0.x and
attempting to use those will result in random instability. We now
explicitly check the SDL2 version before enabling the SDL2 backend.
[SDL] Removed unnecessary if-branch
Merge pull request #126 from thefiddler/sdlversion

[SDL] Do not attempt to use versions < 2.0.0
[Test] Added API compatibility test

This test checks every public API under OpenTK.Audio, OpenTK.Compute
and OpenTK.Graphics for compatibility. Incompatible changes will cause
a compilation failure.
[Test] Added API.Desktop to OpenTK.sln
Fix a bug in single->half conversion.

The original C code had if(m & 0x00800000) which is true if the
expresssion does not evaluate to zero. This was inncorretly translated
to the C# code if((m & 0x00800000) == 1) which only evaluates true if
the expression evalaute to 1, which it never does. The correct test is
to test not equal to zero (!= 0).
Merge pull request #128 from Frassle/half-fix

Fix a bug in single->half conversion.
Merge pull request #127 from thefiddler/apitest

[AL][ES][GL] Add API compatibility test
[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