[gfm] Add support for task lists.

Closes #1165.
[markdown] Fix list highlighting.

Previously, lists following other content weren't always highlighted.
Mode tcl added.
Added mirc mode.
[mirc mode] Integrate.
[tcl mode] Integrate
Added delmarks command to vim key bindings.

Functionality and error messages match the latest vim 7.0 release.
Replaced builtins with updated list for 1.4. Generated by:
(->> 'clojure.core ns-publics (map first) sort (clojure.string/join " "))
Improve performance of StringStream with long lines

Fixes Issue #1301

StringStreams.prototype.column was always calculating the column offset for a
position by walking from index 0 in the string to the current start position.
That is factorial in performance and gets noticeably slower with long lines.

StringStreams only ever advance forward. So when determining the column we can
cache the value for a previous position on the line. Then the next time column
is called, we only need to update the cache for the small portion that the
Stream advanced. This way we only ever walk the stream once.
Fix typo in manual.
Improve performance of StringStream with long lines (match)

StringString.prototype.match(<string>) may do a lot of unnecessary work:

  - If it is caseInsensitive it was calling toLowerCase on the entire string.
  - It did an indexOf search through the string for a pattern, but only cared
    if the string started with that pattern.

Because a string pattern has a fixed length, we only need to run toLowerCase
on a small substring of the stream, and we only compare this small substring
to the pattern.
[vim] Clean up v2 references
[vim] Incremental search
[vim] Ctrl-C and Ctrl-[ exit dialog
[vim] Initial implementation of .
Update for release of Clojure 1.5.0.
Clip updated scroll positions to a sane range
[javascript mode] Recognize bitwise operators '~' and '^'

This was causing "1^2" to tokenize as: (number, "1"), (variable, "^2). By
tokenizing these bitwise operators as operators CodeMirror can correctly
syntax highlight the 2 as a number. Likewise the number in "~0".
Give example of the extraKeys option.

Issues #988, #742, #612, etc. show that CodeMirror users tend to:

1. Not find how to make the Tab key insert spaces instead of a tab,
2. Miss how to use extraKeys to easily solve the issue.

Adding an example helps them find a solution immediately.
Give heightForcer a width to make sure it actually forces height