WebGL shortest path solver