names typing issues

don't use String!
Fixed up ids fixes #5

We can correctly give edge ids in error states now, and pick id winners
based on length
Refactored id assignment

Non-functional change (maybe slower, but much shorter!)
Visual styling

Thinner dashed lines, smaller vertex. Hiding done vertex will take some
more designing.
Fixed broken done logic

Had flipped null / true return values, but didn't notice
Check single loop Ids fixes #13

You can't win if you have multiple loops, but no Error coloring (too
hard to figure out how...)
Switch to level 2