feat: implement edge labels for the node link visualization
NOTE: this PR is based on the fix/nl_read_only
branch to prevent conflicts. This should me merged first.
The implementation fades in edge labels after a certain zoom level. If the labels are not shown, there is no impact on performance, as PIXI skips rendering any containers with alpha=0.
Current layouting does not ensure a minimum edge length, hence labels are only shown if the word actually fits on the edge. This is my personal choice, but we can discuss about whether this is favourable, since its not possible to tell which connections very short edges are atm.
To ensure performance: edge labels are not shown when the number of nodes exceeds configurable threshold, currently set to 1000. Also, when zooming in, the labels are scaled to remain roughly the same size on the screen. Initial versions changed the font size continually as you zoomed, which looked great but significantly hurt performance (need to re-render and compute each text field individually). Instead the font size is now updated in steps when you zoom in.