Ensure that indentLine resets a line's stateAfter

So that calling it on a block in sequence won't get stuck with an
outdated state after lines whose indentation doesn't change.

Closes #2227
allow completion to have an independant from/to range
[vim] Make unescaping for strings a bit cleaner and more general.

adds escaping for '|' to bridge a difference between javascript and
vim regex flavors.

take the escaping a little lower level so that it affects '/' searches
as well, not just '%s/<regex>/<replacement>' searches.
[vim] Add flipEscaping

... so that '|' can be used as an OR in regular expressions or as a literal
character, depending on whether it was escaped or not.

1) fix the escaping of '(' and ')' in search expressions.
2) get the correct placement of the '\' in characters that need to introduce escaping.
3) change the capture unit test to expect that '(' and ')' should be escaped, as does real vim.
[puppet mode] Add
Ensure initial op does a full draw

Even when the editor it set to resize to fit content.

Closes #2239
Remove tiny font on hidden textarea

It causes autozooming on some mobile platforms.

Closes #2235
[javascript mode] Add json-ld dialect
Add json-ld mode to to meta.js
[show-hint addon] Docs for #2228

add docs that when completions are object they can have a from: and to:
that will be used by pick.

Make sidebar in manual scrollable for small screen especially usefull
when `Programming API` is unfolded

seem to look nice on Chrome and Firefox Osx, (scrollbar do not appear,
except when scrolling on Chrome) but should maybe be tested on linux.
Change makeHistory to be a regular constructor
Fix selection undo, chunk 1
Add a more serious implementation of selection history
Fix drag-outside-of-iframe confusion in IE9+

Issue #2219
Use a uniform export pattern
Cheaper method to reduce selections.
Merge branch 'v4' of https://github.com/marijnh/CodeMirror into v4
Documentation pass, part 4 (the rest)
Work around unexpected rectangles from getClientRects in bidi text in FF

Closes #2248
Fix selection being drawn over cursor

Closes #2237