OS X Rumble Support

The implementation was ported from DInput as the Apple Force Feedback API was based on DirectInput.

A compatibility layer was used to make the OS X Force Feedback API compatible with DirectInput, so there are no platform-specific code paths needed to support Force Feedback on Mac OS X.