Started GraphicalNode and SearchAlgorithm

The GraphicalNode class will wrap the current Node
to handle information related to the graph generation.

The SearchAlgorithm class will wrap all the necessary
data to implement different kinds of search algorithms
(heuristics, etc)
Refactoring problems and algorithms
Changed basic framework
Moved previous algorithms to new framework
Added heuristic algorithms

First stable version with heuristic algorithms Greede and A*.