[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
Clean up previous patch

Issue #2519
[gfm mode] Ignore * at end of URLs (for em/strong)
[shell mode] Add tests.  Not very thorough but touch most functionality.
[shell mode] Fix highlight of spaces after variables in double quoted strings.
[shell mode] Fix number highlight at end of line.
[shell mode] Understand backslash escaping outside strings.
[vim] resolved PageUp/PageDown issue  in visual mode
[vim] Remove obsolete setCursor from moveByPage
[css mode] Fixing a vendor prefix highlighting bug

A more detailed problem description in issue #2523