Some minor tweaks to remove instances of boxing being done by the .NET Runtime when firing events
Replace old lock with ReaderWriterLockSlim instance when committing KB+M actions
Added 360 steering wheel mode provided by @mika-n. This mode maps the controller's orientation angle to a joystick axis rather than mapping from gyro data directly. This way, the controller can be rotated 360 degrees or greater and be able to map the range to a joystick axis. The mode can map orientation changes from 90 degrees up to 1440 degrees and it works great in American Truck Simulator. Extra documentation can currently be found in issue #491.