[Mac] Avoid IOHIDDeviceConformsTo call in DeviceRemoved handler

DeviceAdded already checks that devices conform to the desired usage
pages. Checking again in DeviceRemoved is unnecessary - if a device
exists, then it has already passed muster.
[Mac] Call DeviceRemoved() in Dispose() event

The necessary cleanup code already exists in DeviceRemoved(). No need
to duplicate this in the Dispose() event.
[Mac] Map GamePads, MultiAxisControllers and Wheels to joysticks