Pathfinder

This is complete rewriting of previous pathfinder. Previous seems to be strange, slow and doesn't work properly in such case (wood - found path):
![screenshot_1178280935](https://f.cloud.github.com/assets/5287334/2198614/b9318f06-98ca-11e3-9c5f-5aa41db5e859.png)
Actually it reduced size of code more than three times, so it'll be easier to maintain.