pathfinder: Change to C++ file
pathfinder: Use STL implementation of list and heap
pathfinder: Use C++ style casts
Abstracting graphics and data source

Set apart of basic and common functionality for graphics and data
source.