Fix problem where down arrow on !MenuBarItem moves to next item in !MenuBar.   Also general test cleanup.   Fixes #15148 !strict.
Add role="header" and aria-level="1" for Dialog title, for benefit of screen readers.   Fixes #15150.
Use the same on.selector() method for keyboard events as click events... it's more resilient for Trees with custom !TreeNodes that have nested widgets, in which case the getEnclosingWidget() call might return one of the nested widgets rather than the !TreeNode.

This also switches to pure use of dojo/on, which means that the keypress event is no longer normalized to mozilla behavior, so had to handle those browser differences myself.

Fixes #15153, refs #14896 !strict.
Fix detection of single child widget when there is one child with a resize() method and another child without one.   Fixes #14822 !strict.
Add test case and fix another problem for Tree with custom !TreeNode class with supporting widgets, refs #15153 !strict
added missing property in package.json; fixes #14873; thanks scorgatelli
Make separate event names for each modified widget attribute, ex: attrmodified-selectedchildwidget.   Seems safer for performance.   Refs #13785 !strict.
Use event bubbling to monitor value, validity, etc. state changes in child form widgets.   Refs #13785 !strict.
Fixes #15163.  Change claro text color label rule to apply to the parent so that it can be overridden by the labelStyle inline style.
Support Select connecting to dojo.store.    Still connects to dojo.data legacy API (will be removed in 2.0).   Fixes #14866 !strict.
Fix aria role for multi-select tree, fixes #15172 !strict
Improve guard code for when underlay may already be destroyed, refs #10525 !strict.
"char" is a reserved word, so use a different variable name, refs #15153 !strict
Convert robot*.js files to baseless AMD, and remove document.write() usage.
 
 To get util/doh/robot.js to play nice with AMD (no document.write(), and no reference to dojo global), I introduced a dependency to dojo which theoretically wasn't needed before.   Perhaps it can be removed in the future.   If isolation is desired, the dojo-dependent code should be moved to dojo/robot.js, not put if if(){...} blocks.
 
 Also removed the document.write() usage in dojo/robotx.js to create a console div.   On IE6/IE7, we are already getting a firebug-lite console, so just using that.   (This might be dependent on having isDebug:true in the data-dojo-config of the test file though.)
 
 Theoretically fixes #14929 !strict.
Fixes #15141.  Add onLoadDeferred to Select so that InlineEditBox waits for the value to be set.  Added various automated tests. !strict
Fixes #14703.  Change TextBox's onInput to be called only once for most keyboard events.  Printable keys generate keypress and others keydown.  Added automated test.
Get DnD working on mobile.    Probably there are still some rough edges.  Fixes #15185 !strict.
Support dijit/Tree DnD on mobile, and support touch.over, touch.out, touch.enter, and touch.leave synthetic events from dojo/touch module.   Also fixed touch.move to behave like mousemove.

I refactored the touch.over/touch.out code to work by firing synthetic events when it that the user drags over a different node than before.   

About touch.move: Previously, on(node, touch.move, func) on mobile would only trigger func if the user started their drag inside of the specified node.   This did not match the behavior of on(node, touch.move, fun) on desktop, which was to fire events whenever the mouse was moved over the specified node, regardless of where the mouse movement started.   DnD at least was depending on the onmousemove-like behavior.

Refs #14185 !strict.
Re-enable _CssStateMixin to track focus events on widget subnodes since legacy themes (tundra, nihilo, soria) are using that feature for !ComboButton's in Toolbars on IE.

Refs #14568, fixes #15196 !strict.
Fixes #15200.  Selected was separated from Hover in 1.7 but the legacy themes need an extra CSS rule.