Add "motion" method to MapEntity.

Would have used "move" as the method name but Crafty's 2D component already
uses it.
Re-write/clean-up of KeyboardInput component.
Allow continuous movement, not other continuous actions.

Previously, holding down any key that had an associated action would continuously
call that action at the end of every turn.  Now, this is only true for movement actions.
Actions such as resting or opening the inventory will only be called once per key
press, even if the key is held down by the player.