XInput backend for game.input, borrows keyboard and mouse handling from game.input.dinput