OS/driver based controller mapping implementation 

Initial refactoring to use os based detection for controller button/axis mappings.

Replaces https://github.com/hybridgroup/artoo-joystick/pull/3