Add semantic classes to top-level containers for single widgets

@jasongrout @jdfreder This is a rebased version of the commit from Jason in  PR #6256, which is included 
by PR #6341. Merging this independently of the larger reorganization of the widgets would make it easier for us.