Started implementing mapped input

Built an InputMapper, an object whose sole purpose is to map device
states to actions. Refactored PlayerController to use InputMapper.

Next steps are to make Keyboard Input work, and to make a better
game-facing interface for mapping keys. And cleaning up some of the
uggers stuff I did to make it work in the first place.