Perfect pathfinding

With imperfect collisions

This commit makes NPCs follow their paths exactly, but they
still get stuck sometimes.