On Node, dojo/text! wants to load from the local filesystem, not over HTTP, so dojo/request is not appropriate.  Refs #16664 !strict.
MSPointer support in dojo/touch, for Microsoft Surface devices.   Patch from Eric Durocher (IBM, CCLA). 

Also rearchitected how the touch.move event is implemented, to scale better when there are many (non-overlapping) nodes with touchmove listeners.  This new architecture allows evt.stopPropagation() to work, but not currently evt.preventDefault().

Refs #16175 !strict.
rhino fails just loading the dojo/request module, so need to has() bracket it, fixes regression from [30524], refs #16664, #16677 !strict.
Get preventDefault() on touch.move events working again, so that the screen doesn't scroll when you are trying to DnD (see test_dnd.html), refs #16175 !strict
Fix touch.release event to fire depending on which node the finger is over when it's released, rather than which node was initially touched, fixes #16438 !strict.
fixes #15827. Move dojox/mobile/sniff tests to dojo/sniff + rename "iphone" tests to " ios". Stop using _base version in dojox/mobile. Thanks Eric Durocher (IBM, CCLA). !strict