port gamepad API

Still haven't tested it. Preliminary thoughts?
Looks like this increments `numjoysiticks` and we it up with it being 2x what it should be.