Add beforeSelectionChange event

Issue #1262
[htmlmixed mode] Make detection of opening script/style tags more robust

Closes #1271
[show-hint addon] Close hinting popup when scrolled out of view
[lint addon] Add an option run an asynchronous linter
Add a kludge to work around poor dimension measurements in bidi text in IE

Closes #1129
Clean up documentation for addons, mention lint addon
Mark release 3.1
Bump version post-3.1
Optimize line width measurements

No full measurement is needed, since most of the time the longest line will
be scrolled out of view, and we're only interested in its length.

Issue #1275
Prevent huge font sizes from causing nbsp elements to overflow their box

Closes #1274
Work around measurement problem of wrapped line in IE

Closes #1268
[show-hint addon] Re-focus editor when pop-up is clicked

Closes #1264
[complete demo] Fix bad link
[vim keymap] better r, t, new +/-/_

- handling special keys better for commands requiring a character
- r can operate on selection
- fixed: t moves back if character not found
- +/-/_ via extension of moveByLines motion
[show-hint addon] Remove unused argument
Fix corner case issue in patch 3f9139c9630f9e763e8f33a94d1c068f46a06db6

Issue #1268
Remove obsolete 'emstrong' style
Disable a test in Phantom

It fails on Travis, but not on my local machine's Phantom or in a real
Webkit, so I'm going to assume it's a spurious failure.