[X11] Fixed Cursor when CursorVisible = false

Setting Cursor will no longer override CursorVisible.
[X11] Fixed cursor position when CursorVisible becomes true
[X11] Improved CursorVisible = false behavior

We now use an XGrabPointer to confine the cursor to the window,
instead of the XWarpPointer hack. Fixes issue #28 and #36.
[Platform] Fixed OnMouseDown/Up events for secondary buttons
[X11] Implemented high-resolution scroll events
[Input] Renamed MouseScrollWheel to MouseScroll

This better describes the functionality of this structure.
[X11] Warn when XI2Mouse is not supported.

Without the XI2 extension, mouse support will suffer significantly.
More specifically, low-level mouse events will not be available.
[X11] Fixed GetCursorState() after SetPosition()

The new position is now immediately reflected in GetCursorPos().
[X11] Removed unused warp detection code
[X11] Removed stale comment
[X11] Removed unused SetCursor() function
Merge pull request #120 from thefiddler/xcursorfix

[X11] Improve mouse input
[X11] Added XKB bindings
[X11] Use XKB for layout-independent input

The code will fall back to core X11 if XKB is not available.
[X11] Rebased on develop branch
[X11] Added XIDeviceType enumeration
[X11] Implemented XI2 keyboard input
[X11] Split X11 and XI2 input drivers
[X11] Renamed XI2Mouse

This file now implements both mouse and keyboard input, so its name
has been updated to reflect that.
[EGL] Egl.GetProcAddress only returns extensions

We have to load statically exported entry points using the regular OS
symbol loading facilities, and only use eglGetProcAddress for
extensions.

Fixes crash in https://github.com/mono/MonoGame/pull/2377