Use user-select: none instead of preventDefault.

We also suppress the selectstart event, as IE9 doesn't support
user-select.

Note that Firefox does not inherit the -moz-user-select style from the
body element for absolutely-positioned elements, 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.

This also reuses the vendor prefix for requestAnimationFrame and
matchesSelector.
Only set user-select in Firefox.

Chrome, Safari and IE9+ all support the selectstart event.
Rename d3_selectRoot to d3_documentElement.