Add missing (optional) document parameter for various DOM methods, and update code (mainly dijit code) to pass in the document to those methods, fixes #15229 !strict.
A few fixes around win.doc references:

1. Standardize on this._sCall() interface to access selection API.   Also looked at passing window parameter to each selection method, or creating a Selection class that's attached to a window on creation... but just did the simple thing for now.   OTOH the range API takes a window parameter.

2. remove unneeded win.withGlobal(), win.withDoc() calls

3. misc cleanup

Refs #15216 !strict.
Move hccss to dojo/core (leaving back-compat stub in dijit) and make dojo/dnd dependency explicit.   Fixes #15230 !strict.
Fixes #15256.  Check for disabled and readOnly before searching on key input.  Added automated test. !strict
Merge remote-tracking branch 'upstream/master'
dom-class dependency no longer necessary, thanks Sudoh-san, refs #12823 !strict.
Remove some unused dependencies plus supply missing document parameter to dom.byId(), refs #15216 !strict.
Add aria role, fixes #15257, thanks Mike !strict.
missed a few spots, refs #15216 !strict
Fix error from [28401], which removed the dojo/_base/window dependency but left references to it, thanks Sudoh-san, refs #15216 !strict.
Fix race condition where drop down closes before focus timer fires, fixes #15197 !strict.
When win.global is used as a scope for global variables, rather than a reference to the browser's Window object, use kernel.global instead.   I'd prefer to use neither but that's an arguable break in backwards compatibility.   At least this makes things clearer and in many cases removes the dependency on dojo/_base/window.

Refs #15275 !strict.
Modified version of Kitson's patch to support declarative require in the parser:

1. Before looking for data-dojo-type nodes, the parser scans for <script type="dojo/require"> nodes, loads the specified modules, and then (asynchronously) continues the parse.   If no <script type="dojo/require"> tags are present, parsing is synchronous like before.

2. <script type="dojo/require"> syntax: hash mapping variable name to module id, ex: <script type="dojo/require"> baz: "acme/baz", zing: "acme/zing" </script>

3. Parser return value: The parser's return value can be used as a Promise.   In addition, for backwards compatibility, for markup without <script type=dojo/require> tags, the return value can be used as an array of widgets.  (This code is common to #14591.)

4. Corresponding changes to html.!ContentSetter and dijit/layout/!ContentPane to handle asynchronous parsing.   These changes were taken from #14591 and tests will be added later when that ticket is closed.

Fixes #15118, refs #14591 !strict.
Modified version of Kitson's patch to support auto require in the parser.

Parser runs the same as before, unless scan() sees undefined modules, in which case it loads the modules asynchronously, and then runs patch-up code on list[], to fill in the missing constructors and remove any nodes that shouldn't be instantiated to due to a stopParser:true setting on an ancestor.

One API change is that scan() now returns a Promise.  That's OK since scan() is new for 1.8.

Fixes #14591 !strict.
Fix a few calls to this._sCall(), the last parameter needs to be an array, refs #15216 !strict.
Localize alt and title attribute on <img> node, to prevent tooltip on IE7 being English.

Removed the BIDI tests for !ColorPalette direction since it turns out there's no requirement about which direction the colors display in RTL mode.

Fixes #15284 !strict.
Fix scrolling of tabs on IE9 in RTL mode.   Fixes #15287 !strict.
Merge remote-tracking branch 'upstream/master'