Use a Pos constructor instead of repeating {line, ch} literals

This helps performance on v8 (in microbenchmarks) and is less noisy.

Regular literals are still accepted, the constructor is only used to create
objects, doesn't attach any methods.
[show-hint addon] Support PageUp/PageDown/Home/End keys when dialog is active
[show-hint addon] Don't close hinter when typing first letter of word
Roll up the active-line addon!
Fix some issues on mark-selection

 - When mark-selection is deactivated the mark was not removed.
 - When mark-selection is [re]activated it immediately calls
   updateSelectedText() to set the mark if there's already a selection.
 - In addition to removing the mark, the handle is completely deleted
   to leave the CodeMirror instance in a clean state, and avoid re-deleting
   the mark if it's activated again.
Talk about mark-selection and active-line on the manual.
Add a bi-directional text demo

Closes #1180
Sanitize logic that prevents editing in readOnly ranges

It was really quite misguided before.
[show-hint addon] Improve heuristic for keeping or closing the pop-up
[show-hint addon] Remove unused variable
[show-hint addon] More careful positioning of pop-up
[show-hint addon] Close pop-up on blur, make page-up work when near top of list
Wrap undo/redo in an operation
[htmlmixed mode] support for x-javascript and x-ecmascript script types
Remove reference to buildLineWidget

It was still being called for showIfHidden widgets, even though it no longer exists.

Closes #1225
Fix delayed firing of event handlers

The mechanism that was supposed to batch handlers during an operation and
fire them afterwards was broken -- handlers triggered during endOperation were
fired immediately.

Should be better now.

Closes #1226
Update the docs to match the current default of 10 for viewportMargin.
Fix recently introduced typo
Repair context menu.