Use has.add for config-useDeferredInstrumentation

This ensures that a default build works the same as an unbuilt
version of Dojo, while still allowing the configuration value
to be fixed during a build.

Fixes #17753.

(cherry picked from commit fdcc15e86445ea8b893ef65d29b860ef12a2abb3)
Update dojo/window.scrollIntoView to avoid iOS body scroll reset, fixes #17740

(cherry picked from commit 87a492b78c9738ae0d0e41fe81230b151803e819)
Fix #16296 console.debug(NaN) produces error in IE9

Properly convert arguments to an Array when shimming a console function.

(cherry picked from commit 97861d95302c4e4e08de697dc563f9a0786e1d8d)
Only set idProperty if identifier provided, fixes #17557

(cherry picked from commit 5c86aadf89e576075dfb27898a7897112751edad)
Don't include time to run event handlers in 1000ms window.

In other words, ignore mousedown events that occur <1000ms after the last
touchstart handler has finished running, rather than 1000ms after the touchstart
event.

Fixes #17634.
(cherry picked from commit db467f31dc27a3eebdd3b3d43856479c2f3151c4)
fixes #17828 (branch 1.9) dojox/mobile: click events miss most properties.
(such as pageX, clientX, screenX...) on touch devices/webkit browsers.