Fix #886: Add ColumnHider trigger node to domNode to always be visible

dgrid 0.3.14 introduced a regression where the trigger node to open the menu
would no longer appear on browsers with no/hidden scrollbars.  This resolves it
by adding the node as a direct child of the grid's domNode instead, so it is
always visible regardless.

Added support for an rtl query parameter to the ColumnHider test page.

Thanks @treasonx for the initial investigation on this.
Fix handling of RTL scrollbar behavior for IE11+
CHANGES.md: Note ColumnHider regression fix
Add Dijit TextBox editor tests to dgrid/editor functional test suite
Selection: Only emit dgrid-deselect event if previously selected

Also adds tests for select and deselect events;
original test cases courtesy of @treasonx.
CHANGES.md: Note Selection deselect event behavior fix
Fix #885: Escape column IDs in CSS selectors like we do grid IDs

Also avoid calling `put-selector/put` in areas sensitive to this for grid IDs,
as it currently can't handle some characters and doesn't understand escaping.

Special characters in column IDs are replaced with hyphens rather than escaped -
Grid already behaved this way, but updates were necessary to extensions
for consistency.
Add tests for escaping grid/column IDs where necessary
CHANGES.md: Note changes involving special chars in column IDs
Fix #822: Don't modify the selection when clicking on disabled rows
CHANGES.md: Note Selection behavior fix for disabled rows
demos: Move JS into modules
demos: Move DOM into modules
DnD: Update dojo/dnd UI when an item is deselected programmatically
Fix Keyboard mixin attempts to focus ColumnResizer resize handles
Add manual ColumnResizer+Keyboard test, and note fix in CHANGES.md
Fix #907: List: Don't attempt to run DOM-sensitive has test immediately
CHANGES.md: Note fix to early feature test regression
Fix #786: Shift + row select highlights outside text (IE)

ms-user-select: none; will block selection from starting on the element.
It will not block an existing selection from entering the element.

When using the shift modifier IE will select everything from the top of
the document, or last clicked location, up until the shift-clicked
location. Since the selection starts outside of the element marked with
ms-user-select: none; all of the text is selected.

Added a check for msUserSelect, and fall back to other methods to stop
selection.
CHANGES.md: Note IE10+ Selection fix for disabling text selection