Use user-select: none instead of preventDefault.

The use of preventDefault while dragging or zooming was preventing
desirable defaults from being triggered.  Using user-select: none is a
less intrusive way to prevent text from being selected.

If user-select or a vendor-prefixed user-select is not supported, we
suppress the selectstart event instead (for IE9).

Note that Firefox has a bug where absolutely-positioned elements do not
inherit the -moz-user-select style from the body element, so users may
wish to additionally set -moz-user-select: none on absolutely-positioned
elements, at least until this bug is fixed:

  https://bugzilla.mozilla.org/show_bug.cgi?id=648624

Fixes #1288, #1099.
Merge branch 'user-select' into 3.2