PatrolJS demo
https://github.com/nickjanssen/PatrolJS
Click anywhere on the level to calculate a path. Click and drag to rotate the level.