SHORTEST_PATH: calcPath forms a straight path if possible

- since vertices cause unnecessary turns when there are no walls
  calcPath now attempts to form a straight path by using a
  testLine. If the testLine isn't blocked by a wall, it makes a
  straight path. The straight path is divided into points depending
  on the distance to counter the inaccuracy of going to a point.