Moved edge coordinates calculation into Connector.centroidToEdge().
Moved SVG into a container instead of being attached to the body.
translateNScale and getEndPointCoords methods refactored to accept more params.
getEndPointCoords now translateNScale()s the x1, y1, x2, y2 coords.
Changing diagonal orientation and added better looking marker start/end. Still trying to figure why mid marker doesn't work.
Removed the y offset from Connector.centroidToEdge() because the original reason why it was put in has mysteriously fixed itself.
Now checking for -Infinity as well.