Correct Command header

Prepend "TEMM_" to the header guards.
Add identifier to Mob class

Messages to mobs benefit from having a unique identifier for each mob in
the game. A player, for example, would want to send messages to the player
sprite, not all the sprites who happen to share the same category.
Add KeyBinding class

KeyBinding maps sf::Keyboard::Key enums to PlayerAction enums. It has
light dependencies, needing only SFML/Window/Keyboard.hpp header as well
as vector and map STL headers. There is no code in the class for how the
player actions get executed; the class only maps enum to enum. This allows
for flexible configurations by swapping KeyBinding objects without having
to be concerned about action implementation details.
Add Player class

Player is much like the controller of MVC. It centralizes the input
handling for the GameState class. Player objects hold a reference to a
KeyBinding object and map the player actions to implementations that
execute the action. GameState will call the handleEvent() and
handleRealtimeInput() methods in its own handleEvent() method. It will
need to acquire a reference to the Overworld's command queue, which as of
this commit is not possible.

Player objects contain their own identifiers. The current implementation
passes the identifier to the action implementation, requesting that the
executing mob match identifiers. This implies that the identifier should
be interpreted as a player-controlled identifier, marking all the mobs
that the player sends actions to.
Correct action binding
Include key bindings in application context

Application stores default key binding configuration and passes it in the
State context.
Include name attribute in TMX

Object named "Player" in TMX file will be given the player identifier when
loaded by Overworld.
Clear velocity after moving mob

Mob velocity used to remain constant after setting it. Now on each update
cycle, the velocity resets to (0, 0) to stop the mob. This is only in
testing code. Since Pokemon movement is step based, the update function
will be unique.
Integrate Player into GameState and Overworld

GameState stores Player object by value. Calls Player handle methods in
GameState handle method, passing stored Overworld object's command queue.
Player successfully controls player mob sprite. As of this commit, the
movement controls are not Pokemon-like, but message passing works.