So I have some rough stuff together on two things on a code branch.
1. Layers can hide their button on the toolbar. This preserves toolbar real-estate.
2. A Layer can have a comma delimited list of layer numbers that will show/hide when it does. There is no checking of unique-ness and no recursion (so a layer that hides another layer does not look to see if that layer has such a list) -> this stops loops.
The net effect is that you can have some layers act as toggle show/hide for a group of other layers that optionally do not show their show/hide buttons.
Nothing stops you from selecting and showing any layer individually even if it is in a list - it will resync the next time the group layer is shown/hidden.
I have worked out how to save/restore in the layout - I still have to work this out for the Layer profile.
I know there is much more to do in terms of naming Settings profiles that harden some key settings, linking layers to named Settings profiles - more to do in other words, more to do.