Joystick support, and input mapping

No axes yet, but I'll get them working too