Changelog:
- Modernize some code, thanks @ivanhawkes!
- Added checksum member to GamepadOptions
- Added invert X and Y axes options
NOTE: The code modernization made the MPG and MPGS classes abstract, meaning you will need to subclass one of them to create your implementation.