Fix exception thrown when overlapping a line over its start.

As our line trees must not have circles we cannot allow
the line we are currently drawing to overlap any of the
end-points of the tree it belongs to. Previously this
was not checked which allowed hightower to generate invalid
solutions that ended up throwing exceptions on merge.

This patch labels edges as described above as solid to
hightower which makes it route around them giving us the
expected behavior.

Fixes #16