Fix logic error in onFocus

Issue #2494
Remove debugging code
Prevent select-all hack from confusing readInput when there is a selection

Issue #2496
Another fix around the select-all hack

Issue #2495
Scroll change, rather than cursor, into view on undo/redo
Fall back to nullRect in measureCharInner to work around Safari issue

Issue #2492
[jade mode] Re-write to match the jade lexer
[jade mode] Fix linter errors

Issue #2490
Make sure gutter is redrawn when a document is shifted

Issue #2498
[compression helper] Use CodeMirror for code field

Dog food, and all that.
[runmode addon] Pass state to blankLine

Issue #2502
[foldcode addon] preventDefault clicks on widgets

So that the click doesn't kill editor focus.

Closes #2505
[haxe mode] Line comments for Hxml
[vim]: IE8 fixes.
 - avoid array .indexOf - fixes % key and non-pcre searches.
 - avoid array .map - fixes a couple of non-running tests.
[shell mode] Fix empty token bug

Issue #2506
[vim] Fix bracket matching off-by-one
Use a different approach to handling window events

One that's less scary, and allows immediate garbage collection
(rather than waiting up to 500 ms). Does not work in IE8, though.

Also shows editors as blurred when the window loses focus.
[css mode] Fix empty token bug

Issue #2516
Loosen restriction on empty tokens

It is turning into a major headache, since apparently a
lot of modes are written with the assumption that empty
tokens are okay.

Closes #2517
Generate description of included files for comment block at top of compressed code mirror