This makes it much easier to customize all widgets of a certain type using
CSS. For example, to change just the IPython widget selects, a CSS
rule like .widget-select select {...} should work well.
This seems to make it easiest to select the top-level element. An alternative is to use special syntax for top-level elements, like in https://github.com/ipython/ipython/pull/6185
This will be followed up by other fixes that let the user set specific common properties of different elements.
This change also adds the .addBack() call, which means that nonempty selectors now apply to this.$el and its descendants, rather than just the descendants of this.$el.