Reimplemented the player and entity classes.

Entities can now move and teleport, but the most significant change in the Entity class is that the Component methods are not accessible anymore from inside class.
I created a new class to isolate the Component functions from the Entity so that these functions don't clutter the Entity.
The active player can teleport by clicking on any tile.