Fixed visibility graph calculations.

For expanded obstacles in particular, the visibility graph needs the
intersection points of obstacles to be used. From making appropriate
changes it was discovered that multiple corner cases in tether
retraction evaluation were not dealt with appropriately, so the
algorithm was fixed.