Fix ignorance about doc.first in coordsChar

Closes #1254
Add a Q mode
Fix bug in document iteration over subviews

Closes #1252
Reduce intact ranges, rather than extending change ranges, for collapsed spans

This way, we don't have to shuffle coordinate systems.

Closes #1255
[q mode] Remove unused variables
Avoid scrolling to cursor position in a non-visible editor
Demote formatting.js to non-supported module status
CodeMirror JSON+Javscript Lint.
[lint addon] Start integrating

- Link to external jsonlint.js (don't want dependencies in repo if
  I can help it)

- Use a single demo file (prevent demo/ from becoming a huge mess)

- Make whitespace and newlines conform to other files, fix linter errors
WIP
[linter addon] Rewrite. Make tooltips on text work
[python mode] Make tokenizer regexps configurable
[lint addon] Pass code instead of editor instance to lint providers