Did a significant upgrade of the labeling and port placement code.
Added parameters
- ports that appear on the top of the node with vertical type
Added constants
- nodes that are drawn slightly differently. Used to connect to parameters.
Added edge labels
- an extra parameter on the compact edge spec to add a label
Fixed the width and height calculations for nodes. Everything is much smaller now.
Made the text width function more accurate meaning better feature sizes, better text placement