Refactored to use jCanvas vectors.

Looks much cleaner, easier to see errors, still need to put labels and
handles back in, but it looks solid .