Big sprawling change.

Endpoints now have a size, and make their own SVG documents to work
with. They are set up to be able to do transformations to fit a new
drawing onto the page.

Updated displays to take account of this