Most pieces wired.

Existing bugs:

 1. Visible path ignores inside of polygon. Causes erroneous edges.
 2. Algorithm to grow obstacles is not ideal and I am not sure if it
    will work for all convex polygons.