Update lib
Use a selection filter

We use a selection filter to avoid problems that could be caused by a poor
encoding of the nt ids. This may be slower but it should always work.
Use selection filters instead of css selectors

I'm worried that the ids will not always encode the ids correctly. To deal with
this I build a selection using a filter. This is slower for sure than a css
selection. I may instead build a data structure to handle this stuff later. It
would be faster and not worry about encoding, but would use more memory.
Use new api for selecting

We need to pass the data to the selector functions, which this commit now
enforces for the airport diagram.
Setup to draw labels

Labels are a much requested feature and I'm doing some setup to draw them. We
will add it as another thing that each view must render. This does some basic
setup for each label. I haven't really implemented any so this just provides
the calls in the right place.
Big update to circular diagrams

This fixes a variety of problems. First we have the setup to draw labels.
Secondly we use the label arcs to add letters for highlight. Thirdly, we fix
problems for the highlighting actions.
Update lib