Have the linter take an optional directory argument
Measure size of inline widget *content*, not widget wrapper node

The height of an 'inline' element is pretty much meaningless.
[sql mode] MySQL/MariaDB: add client commands \! \? \. \#
[sql mode] Add support.commentHash and support.commentSpaceRequired to support Oracle comments
[sql mode] New mime-type: x-cassandra

* add x-cassandra
* add support.doubleQuote
* add support.commentSlashSlash
[lint addon] Introduce CoffeeScript linter
[clike mode] Add shader language mode

New mime types x-shader/x-vertex (vertex shaders) and
x-shader/x-fragment.
[javascript mode] Add doubleIndentSwitch option

Default is still true.

Closes #1592
Fire events for DOM events that the editor handles

Deprecate onKeyEvent and onDragEvent
Ensure coordsChar sets 'after' properly for clicks before the start of line
Better solution to storing relative x position in coordsChar return value

It now has an xRel property that can be -1, 0, or 1, rather than a boolean after.

This way, we can distinguish between precise matches and coords after the
returned position.
Disable another test that fails on Phantom
Enable the linter for the keymap/ directory
lint keymap

```
$ test/run.js
keymap/emacs.js: Trailing whitespace at line 184, column 71
keymap/emacs.js: Unused argument precise (109:25)
keymap/vim.js: Unexpected token (193:22)
```
merge