Add collision detection for nodes and secedge labels.

This tries to place secondary edge labels on a different position on the
edge if the preferred position (the middle) would result in overlap with
a node.