Fix bug in iterateBidiSections

When the from and to arguments were equal and the line had an order, it
would never call the callback.

Issue #1079
[markdown] Prevent leading spaces from being styled.

Regression introduced in 984e15502fb54aebdf6c272910a7543ed1efe0e7.
Add code school to real-world uses
Add rtlMoveVisually option
Reinstate disabling highlighting on long lines

It does make a difference after all.
[css mode] Fix bug in matching of classes
track global variables alongside locals in the parser state
use globals as well as locals in hinting
Fix bug in Opera version parsing
Fix strict mode argument redefinition warnings

Firefox complains throws warnings when "Strict Mode" is turned on. This pull request fixes two of those:

    Warning: TypeError: variable data redeclares argument
    Source File: chrome://sieve/content/libs/CodeMirror/lib/codemirror.js
    Line: 845,Column: 8
    Source Code: var data = data || measureLine(cm, line), dir = -1;

    Warning: TypeError: variable spec redeclares argument
    Source File: chrome://sieve/content/libs/CodeMirror/lib/codemirror.js
    Line: 2870, Column: 8
    Source Code: var spec = CodeMirror.resolveMode(spec);
[vim keymap] Implement :substitute
[vim keymap] Implement <, > marks
Add initial value option to openDialog.
[vim keymap] Set Ex initial range to selection if in visual mode
Clip input to indexFromPos
Re-focus old activeElement after patchDisplay

It may have been a widget that was removed and put back again, thus
losing focus.

Issue #1094
Don't thread state for stateless modes

Saves some work for modes that don't have a startState method.
Add addOverlay/removeOverlay methods

For cheaply adding extra styling without going over
the whole document and doing markText.

Issue #1069
Missing semicolon.
Fix logic error in 79a7a08d0a56947f37b87981faa2e793a94bb140