Added gamepad support

GameController wraps SDL_GameController and several of it's functions.
More work needs to be done on the wrapping.

Integrated the loading and management of one GameController into
InputHandler. See the new test, tests/gamepad.cpp, for usage.

Added tests/gamepad.cpp to test this addition. The test contains sample
code and usage. If no gamepad is plugged in the test will refuse to run
with an error message (for obvious reasons).