Display names of top-level constructs when zoomed out.

This is just the initial implementation and still needs a lot of work.
- There are some performance issues when removing the items (zoom in).
- The filter to select which items's name should be shown is very coarse
- The names simply appear in the middle of the item and many names
overlap.
Add a convenience constructor
Fix argument to be const