pathfinding-canvas Dijkstra and A* pathfinding algorithms implementation with simple canvas grid visualisation