Replace A* pathfinding with much faster jump point search.

This also fixes entities glithing through walls, as diagonal cracks
were assumed walkable.
Little optimization for molestPath()