Use IE's native focusin/focusout support for IE9+ too, avoiding asynchronous focus notification, fixes #16968,  #16970, and refs #16926, #16972 !strict.

git-svn-id: http://svn.dojotoolkit.org/src/dojo/trunk@31152 560b804f-0ae3-0310-86f3-f6aa0a117693
(cherry picked from commit 74f1af634dff02139086221b69b6066c34546e18)

Conflicts:
	on.js
Correct detection of focusin support

Fixes #17599

(cherry picked from commit e245ce5c80b85351642fd1ffc18a2d77bbbb0770)
(cherry picked from commit ca391f932e3a3f032dd8b84566c4176857eb8ac3)
Improve focusin detection support

This change prevents unintentional scrolling and unfocusing of
whatever element was in focus before the feature detect in browsers
that need to do the long feature detect.

Adds test case.

Refs #17599

(cherry picked from commit 2536e5cd0935cc7356d584bab6ac2c73d3ad6164)

Conflicts:
	tests/on/on.js

(cherry picked from commit f774568707ea95b9a56bf646b2ce46e1c57907f8)

Conflicts:
	tests/on/on.js
Position test element so it is actually fixed to viewport

Fixes #17626

(cherry picked from commit 65e989efbcda628e72c9616faf11d480aacebf2f)
(cherry picked from commit ab088a9741a6383495a20bc34e84403e2962ed03)
Remove dumb speed test that compares against an old API we will never restore

Fixes #11200

(cherry picked from commit a3dd7a47aa01315e601525b0d8217a8408237149)
Make selective fixes to the date/locale tests based on what Mark Hays did for 1.9
Refactor robot so initRobot() is implemented as an asynchronous test fixture, rather than using monkey patching code that doesn't work well, having two places calling doh._run() in a race condition.   This design also makes better code separation between vanilla DOH and robot.

I plan to do the same for startRobot() in the next check in.

Also fixes priority of ready() call inside DOH.   The default priority is 1000, so we need to be higher than that, so that DOH doesn't execute until the iframe's dojo.ready() call has finished executing.

Fixes #16386 !strict.

git-svn-id: http://svn.dojotoolkit.org/src/dojo/trunk@30060 560b804f-0ae3-0310-86f3-f6aa0a117693
(cherry picked from commit 6698b8f5f307bd1c8ded908e22b8b91e1b1a6047)
Refactor robot so startRobot() is implemented as an asynchronous test fixture, rather than monkey patching doh.run().  This design makes better code separation between vanilla DOH and robot.

Refs #16386 !strict.

git-svn-id: http://svn.dojotoolkit.org/src/dojo/trunk@30074 560b804f-0ae3-0310-86f3-f6aa0a117693
(cherry picked from commit 28f564e8186eb26efc4f99746ac1d0c7d3038bb0)