A ToggleBlock contains another Block, and is either visible or not visible.
Each ToggleBlock maintains a list of all corresponding ToggleView objects, and notifies them when its visibility state changes.
A ToggleView is a FilterView corresponding to a ToggleBlock.
If the ToggleBlock says that the child should be visible, then nothing is filtered.
If the ToggleBlock says that the child should not be visible, then almost everything is filtered. Special care is taken to hide and show java.awt.Components which may be contained in children.