почти полностью переделано

Поле выделено в отдельный класс, изменен алгоритм поиска пути, добавлены
настройки