Typescript gamepad API for consistent cross-browser and cross-gamepad binding, polling for input, etc.