Added distance to prevent unintended reordering

Added a small distance delay on the sortable to prevent users from unintended
triggering of the reordering. (Happens all the time i'm using slickgrid).
i.e. the users tries to sort the column but fails since his mouse was still
on the move a little bit and 1px is enough to trigger reordeing here.
Please try, it still feels very responsive.
Replace 'hover' deprecated pseudo-event

'hover' pseudo-event has been deprecated in jQuery 1.9.0,
use of 'mouseenter' and 'mouseleave' instead.
Merge pull request #519 from loris/patch-1

Replace 'hover' deprecated pseudo-event
Changed distance value
Merge pull request #517 from ckosmowski/master

Add the distance delay to the header drag code.
Fix #520 - dropstart event not firing
Use of navigator.userAgent instead of $.browser

$.browser object has been removed from jQuery 1.9.0
Merge pull request #521 from loris/patch-1

Use of navigator.userAgent instead of $.browser
Added distance for dragging rows

Added distance to prevent users from unintended dragging of rows.
Merge pull request #523 from ckosmowski/master

Distance for dragging
Shift+arrow keys support for selection
Use a URL instead of a path for the wiki link in the README

GitHub currently transforms the path into a blob-style URL for the wiki, which is a 404
Merge pull request #535 from tombenner/master

Fix wiki link in README
Changes according Pull request #534

numeric keycodes
{} for ifs
Merge pull request #534 from fetis/master

Shift+arrow keys support for selection
Add multi-level grouping to DataView.
Based on the original pull request (https://github.com/mleibman/SlickGrid/pull/522) by ghiscoding.

Deprecated DataVIew APIs (will continue to work):
- .groupBy()
- .setAggregators()

New DataView APIs:
- .getGrouping()
- .setGrouping(groupingInfo)
- .setGrouping([groupingInfo1, groupingInfo2, ...])
- .collapseAllGroups()
- .collapseAllGroups(level)
- .expandAllGroups()
- .expandAllGroups(level)
- .collapseGroup(groupingKey)
- .collapseGroup(level1value, level2value, ...)
- .expandGroup(groupingKey)
- .expandGroup(level1value, level2value, ...)

Grouping info options (for use in .setGrouping() calls):
- getter
- formatter
- comparer
- aggregators
- aggregateCollapsed
- aggregateChildGroups
- collapsed

New Group fields:
- level
- groups
- groupingKey

Also fixed 0-handling in default aggregators.
Optimize up DataView aggregation.
Column option for 'focusable' needs a default value. Set to true, as that's the default behavior assumed by 'canCellBeActive'
No longer need to check if columns[cell].focusable is a boolean: since every column now is boolean by default, we simply return focusable at the end of the function. (The original 'return true;' is not needed because the default value here IS true.)
Merge pull request #538 from dariusk/master

Adding default focusable column option, plus minor optimization to canCellBeActive