Cleanup + unify tab/joint handling
Tabs and joints are just different ways of attaching EdgePorts, so should probably be handled accordingly.
-
Remove Drawing classes/methods in favor of standard regular Face and HyperEdge types -
Auto-tabify #22 -
Cleanup implementation -
Figure out how to represent general design-specified connections vs unique user-specified joining options