Selection: keep MSPointer devices out of the webkit touch event path

In recent versions of Dojo, has("touch") reports true not only for webkit
touch event support, but also for MSPointer.  However, the has("touch")
code path in Selection was designed specifically for webkit touch events;
the normal Selection code path already supports MSPointer events.
editor: Add test page for autosave
Fix #579: Preserve editor focus when row updates (e.g. from autoSave)
CHANGES.md: Note editor focus preservation fix
editor: Fix regression missed during prior testing

This was fortunately caught by the unit tests.  I likely missed it due to
our test pages commonly having a global grid variable.
Selection: Refactor to fire events on same turn
Selection: Fix intern test assertions to pass in IE < 8
CHANGES.md: Note Selection event firing timing change
Fix #748: Default formatter context to column definition object
Fix #734: Keyboard: do not set tab index on header when it is hidden
CHANGES.md: Note Keyboard header navigation fix
Fix #704: editor: stop eating mousedown events

The mousedown event listener in `showEditor` was interfering with
`selectOnClick` for any TextBox based widget, and it does not appear to be
necessary anymore.
CHANGES.md: Note removal of editor mousedown handler
editor: Fix edge case regression from focus preservation fix
Fix #716: Allow column className to be a function

* A column's `className` property may now be a function or a string. If
  it's a function, it will be called when the row cells are created and
  passed the object being rendered in that row.
* Cells will always include the dgrid-generated "field-<field name>" class as
  long as the column has a field, even if a custom class is also specified.
Add Intern tests for column.className
CHANGES.md: Note support for column.className as function
ColumnSet: fix support for column.className as a function and add tests
Fix #752: Pagination: Ensure numeric rowsPerPage when using drop-down
Fix #755: ColumnHider: Prevent menu from immediately reopening