Process clicks to select or close tabs/panes in  !TabController/!StackController, rather than the individual tabs/buttons.

Refs #13785 !strict.
On second thought, a margin between horizontal items isn't needed: unlike Tree, there's no point to distinguishing between "drop after item 2" and "drop before item 3".  Ideally those two states should look the same, although I don't know how to achieve that.  Refs #7225.
Fixes #14579.  add Active state to _TimePicker buttons during typematic to allow custom styling.  Also changed setHours to setTime to avoid a Chrome timing exception.
Remove layerX/layerY references from !SplitContainer.   AFAICT pageX/pageY is enough to handle slider drags, so there's no reason to access layerX/layerY/offsetX/offsetY too.   Fixes #14840, refs #14114 !strict.
Make claro style for hovered and selected DnD items the same as it styles hovered and selected Tree rows.

For tundra, and soria, using the same background color for selected DnD items and selected Tree rows, but the styling looks different because tundra and soria only style the Tree label rather than the whole Tree row.

Nihilo has no style for selected Tree rows, so just doing hover style.

Fixes #14837 !strict.
Fixes #14755.  Replace mixin(..., evt) calls with a simple event shallow copy and skip layerX/Y attributes to avoid webkit warnings.  Change TextBox's _onInput to use on(...) instead of this.connect for input events. 
Fixes #14755.  Ensure faux event object is fully initialized before calling typematic callback.
Ability to use dijitDialogActionBar CSS section within a !TooltipDialog (in addition to a Dialog), thanks Kitson!   Fixes #14843.
Refs #14835.  Add initial mobile/SearchBox widget.  Refactor AutoCompleterMixin to create _SearchMixin.  Prototype SearchBox CSS in test_FormControls.html needs to be pulled out and themed.
Refs #14835.  Fixes AutoCompleterMixin.html.  Using a DataList was mistakenly preselecting the first item but that behavior only applies to inline OPTION tags, so now the default is blank like with other data stores.
Support dropDownPosition: ["below-centered", "above-centered"] for parent of !TooltipDialog (typically !DropDownButton).  In the future though Tooltip and !TooltipDialog should be refactored to share more code.    Fixes #14851 !strict.
Fix lingering reference to dijit global, refs #13494 !strict    Also missing semicolon in focus.js.
Enhance _WidgetBase to emit "attrmodified" DOM event whenever a widget's attribute is modified. 

Update _WidgetBase.on("foo", ...) to monitor for events on this.domNode, unless the widget has an onFoo() method, in which case on() will connect to that, for backwards compatibility.

Update !StackController to monitor bubbled events to tell when the !StackContainer's child widget has been modified, and perform necessary updates to tab labels.

I do notice a lot of spurious events during page load, things like _KeyNavContainer setting the tabIndex on widgets after they've been created.  Should try to avoid those events in the future.

Refs #13785 !strict.
Fixes #14828.  Add defer method to _WidgetBase and change setTimeout to use defer(...) instead, and clearTimeout to use handle.remove() instead.  The defer method will check if the widget has been destroyed before executing the supplied function. !strict
Fixes #14853.  Stop selectstart events instead of mousemove to make Firefox tooltips work.
Fixes #14743.  Change event.stop to preventDefault to allow parental monitoring.  Remove mousemove intercepts since this doesn't seem to affect typematic behavior.
update context menu example, refs ##14812, fixes #14890.
Fixes #14753.  Clear _isLoaded when options are changed to cause a reload.
Introduce "dijit-legacy-requires" has() flag so that legacy builds can also suppress loading of modules the app didn't explicitly request.   Fixes #14819 !strict.
dojo.require() --> require(), refs #14279