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.

git-svn-id: http://svn.dojotoolkit.org/src/dijit/trunk@28310 560b804f-0ae3-0310-86f3-f6aa0a117693
(cherry picked from commit 75159670d36ded6d1d7860ede79f734665478083)

Conflicts:
	Tree.js
Use event delegation for Tree, fixes #14896 !strict.

git-svn-id: http://svn.dojotoolkit.org/src/dijit/trunk@28027 560b804f-0ae3-0310-86f3-f6aa0a117693
(cherry picked from commit 15a4d84e781314e988e983ac61e98dd552460fcf)

Conflicts:
	Tree.js
Add test case and fix another problem for Tree with custom !TreeNode class with supporting widgets, refs #15153 !strict

git-svn-id: http://svn.dojotoolkit.org/src/dijit/trunk@28315 560b804f-0ae3-0310-86f3-f6aa0a117693
(cherry picked from commit 349f9d6b7b51366b0ac03b270b628320517d7443)

Conflicts:
	Tree.js
"char" is a reserved word, so use a different variable name, refs #15153 !strict

git-svn-id: http://svn.dojotoolkit.org/src/dijit/trunk@28335 560b804f-0ae3-0310-86f3-f6aa0a117693
(cherry picked from commit 1358890e2cfeb48e205f1ae76ce74ebe3315653f)