[htmlmixed mode] Clip script-type-finding slice start to zero

Issue #1209
Add UmpleOnline and APEye to real-world uses
Remove some function-declarations-inside-control-flow

Issue #1206
Take inclusiveLeft/Right into account when preventing editing of readOnly spans
Different fix for 'null' showing up in token classes

Issue #1214
Format match-highlighter to follow conventions
[searchcursor addon] Remove forgotten debugger statements
Correct a typo in manual.html
Add mark-selection addon and demo page
Clean up mark-selection add-on
[match-highlighter addon] Rewrite to use defineOption and an overlay
[match-highlighter addon] Update documentation
Repair context menu on IE9
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