Make (primary) edges separate graphics items.

Primary edges were part of tree nodes. However, this had the disadvantage
that the z-levels of nodes and edges could not differ. Now that they are
separate items, the z-levels can differ, which we exploit to improve
displaying of secondary edge labels.

The ordering is now (from high to low priority):

- Nodes
- Secondary edges
- Primary edges

This has the result that a secondary edge label can be covered by a node in
rare cases. Some more sophisticated collision detection is necessary to
avoid this.