RetroPlayerInput - abstract the Gamepad data away and let Joystick implementations fill the struct with data