Add GamepadAxisState to the project.

This class represents the state of both sets of joystick axes.
Add GamepadFilter to the project.

GamepadFilter subclasses are used to apply filters to the joystick
axes.
Add GamepadFilterSet to the project.

GamepadFilterSet is used to apply multiple filters to a Gamepad.
Add methods used by filters to Gamepad.

These methods allow reading the overall state of the gamepad for use
by filters.
Add FilteredGamepad to the project.

FilteredGamepad applies a GamepadFilterSet to a Gamepad.