BlockSet doesn't destroy child widgets unnecessarily.

For feasibility of implementation, BlockSet now always groups the header
(if any) in an element along with the contents. This has slightly
changed the resulting layout, but as far as I can tell for the better.