Rework visibility and all button

Visibility should be controled by a simple function in the core library.
However it is convient to use a different approach when dealing with button
controls. This is to list what classes should be visible or not.

In addition, we change how we handle displaying all interactions. Here it is
easier to list out what 'all' means. That is to say we list all interactions we
want to show. This is more flexible in that we can now add buttons like
'non-cWW' or 'Uses W Edge' such and it will work the same way all does. This
breaks the interface to the jmol plugin slightly but is worth it. Now you have
to list data-family='cWW,tWW,...' and such instead of just 'all'.
Merge branch 'develop'