Keyboard / Gamepad input & Ability Skeleton

Added the ability to choose between keyboard and gamepad input, as well
as building out the IAbility interface and the basic StatBlock and
CharacterController.