A* algorithm:
- Several bug fixes.
- Algorithm now queries movement speed in Terrain class to scale
  cost based on terrain properties.
- TODO:
  - Need some corner-case checks. For example, if the goal is
    at an un-reachable tile, the algorithm will probably go
    into an infinite loop.
  - Integration into controller.