Added Random, Bidirectional and A* search with a different heuristic. Changed the way colouring works to make activity more obvious. Removed dependency for module-level 'target' attribute in A* heuristic.
Changed calculateCost to be an admissible heuristic which dominates over old A* heuristic and replaced it. Diagonal moves now cost 2 travel points but only the difference in colour between the start and end pixels.
Allowed diagonal moves again.