[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
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`.