OpenTK.Input.Joystick implementation for Mac

This PR tracks the implementation of `OpenTK.Input.Joystick` (IJoystickDriver2) on Mac platforms using IO HID. Do not merge until finished.

Implemented features:
 - `Joystick.GetCapabilities()`
 - `Joystick.GetState()`
 - Hotplugging support (but see below)

Still pending:
 - `Joystick.GetGuid()`
 - Support for hats or dpads (requires additions to `JoystickCapabilities` and `JoystickState` structures).
 - Support for devices outside HIDPage.GenericDesktop + HIDUsageGD.Joystick (e.g. simulation, driving wheels).
 - The VM crashes with a stack overflow or similar when a device is unplugged.