Fix _WidgetsInTemplateMixin to not parse widgets inside of this.containerNode (except if this.searchContainerNode is set to true).   Refs #16576 !strict.
[30523] accidentally broke _earlyTemplatedStartup, put it back, refs #14591 !strict
widgetsInTemplate flag not necessary since extending _WidgetsInTemplateMixin, refs #12275 !strict.
use _WidgetBase rather than _Widget in tests, refs #16585
remove lingering reference to dojo/ready, refs #15616
remove unused dependencies and streamline a11yclick code, refs #15878 !strict
avoid exception when subclass has no focus method, fixes #16816 on trunk !strict
Fix test failure on chrome when "emulate touch events" is turned on.   The mouseup event has to bubble because _HasDropDown sets a mouseup listener on the document.  Refs #16473.
remove calls to deprecated this.disconnect() method, refs #16585 !strict
IE gives exceptions in console if you try to delete an expando property that doesn't exist, refs #16576 !strict.
Don't assume that the focus manager is loaded or dojo.subscribe is defined in the iframe.   For AMD tests they may not be.   Plus fixing a few references to the dojo global.  Refs #14279 !strict.
Add missing  dependency, refs #14279 !strict.
Access dijit/tests/helpers methods through AMD, refs #14279.
For dijit/tests/helpers::onFocus(), if focus changes multiple times during the specified delay, return the latest focus to the callback.    Fixes a problem in the cancel test in Dialog_mouse.html: due to [23488], focus first goes to the close icon and then goes back to the button.  Perhaps the close icon should only get tabIndex=-1 when there are no focusable elements in the dialog?   For now, just changing the dijit/tests/helpers::onFocus() method.  Refs #8285 !strict.
Update dijit/a11yclick to handle keyboard equivalent of ctrl-click, shift-click, etc.   Fixes #16822 !strict.
Make _CssStateMixin use dojo/touch events rather than "touchstart" and "touchend" so that  (in particular the active state) will work on Surface.   Fixes #16823.

Also add new press and release synthetic events to dijit/a11yclick, representing either mousedown/mouseup, touchstart/touchend, or keydown/keyup corresponding to a click event.  Use new dijit/a11yclick events in _CssStateMixin to provide visual feedback during keyboard "clicks".    For non-IE platforms this moves the listener from the capturing phase to the bubbling phase, which seems to be working OK (especially considering that IE's worked this way from the beginning), but there might be some stopPropagation() calls somewhere the need to be removed.  Fixes #8709 !strict.

This is also in preparation to convert Tree to use dijit/a11yclick.  Refs #16819.
Make Tree  leverage dijit/a11yclick, which indirectly make openOnClick work for keyboard "click", fixes #16819 !strict.   Also makes Tree more responsive on mobile, refs #15878.

Builds on work from [30806] and [30807].
Update _HasDropDown to leverage dojo/touch::press and dojo/touch::release rather than listening for mousedown/mouseup events that may or may not occur.  Refs #13048 !strict.
Leverage ondijitclick in Calendar, to get the normalized touch handling in dojo/touch plus the keyboard click handling in dijit/a11yclick.  Refs #15878 !strict.
Leverage dojo/touch in !CheckBox and !MultiSelect, to get the normalized touch click handling.  These two widgets are special because they are based on native form controls (<input type=checkbox> and <select multiple>), so they need to get a real click event rather than using a synthetic dojoclick type event.   Luckily (for this case) this is how dojo/touch is currently working, by emitting a click event.  Refs #15878 !strict.