A* Pathfinding Algorithm - Part 2

Coding Challenge #51.2

In Part 2 of this A* Algorithm coding challenge, I focus on adding obstacles (walls) to the grid as well as functionality for moving diagonally.