Improve mouse input on WindowsGL and Linux

This PR updates mouse input to match XNA on WindowsGL, Linux and Angle and removes all platform-specific hacks the were previously required.

More specifically:
- WindowsGL functioned correctly before, so this PR simply removes the win32 DllImports in favor of cross-platform code.
- Linux had a number of issues with `Mouse.SetPosition`; cursor jumps when toggling IsMouseVisible; no mouse input outside the GameWindow. All issues are now fixed, and the platform-specific hacks have been removed.
- Angle functions identically to WindowsGL.
- `Mouse.WindowHandle` now correctly returns the handle for the `GameWindow`. This improves consistency with XNA but serves little purpose in a cross-platform application.

Finally, this PR implicitly allows WindowsGL to run on Mac OS X.

Affects issue #2464