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()`
 - `Joystick.GetGuid()`
 - Hotplugging
 - Support for devices outside HIDPage.GenericDesktop + HIDUsageGD.Joystick (e.g. gamepads, driving wheels).

Still pending:
 - Support for hats or dpads (requires additions to `JoystickCapabilities` and `JoystickState` structures).