Add heightAtLine method
[vim keymap] Fix bogus setTimeout call
[ruby mode] Various improvements

* Handle default string % literal for Ruby

  %{Hello World} == %q{Hello World}

  One gotcha though:

  5%(2) == 5 % 2

  Will be seen as a string, but it will be interpreted
  as the modulo operator by ruby.

* Variables names can't include a ? nor a !

* Improve symbols parsing rules

  - can be operators (e.g :+, :/, :-, :>>)
  - start with @ or $
  - end with !, ? or =
  - can't start by a digit

  Though when defined in reverse as hash keys (e.g {foo: 'bar'})

  - can only start with [a-zA-Z\_]
  - can't end with =

* Instance and class variables can't start by a digit but globals can be only digits

* Add some missing keywords

  Actually only __END__ is really a keyword.
  But __FILE__, __LINE__ and __dir__ are special variables so most editors highlight them as keywords.

* Several regexp improvements

  - Use the string-2 class for regexps like JS mode
  - Xonsider %r as a regexp
  - Handle interpolation inside regexps

  It allow to colorize properly stuffs like:

  ```ruby
/foo #{1 + 2}/
%r{foo #{@bar} baz}
```

* Fix parsing of brace enclosed string literals with interpolation

  As an example:

  ```ruby
%Q{foo #{42} baz #{26} fizz}
```
  The coloration was broken after the first interpolation.
[sql mode] number syntaxes with specific mime types

* hex not supported by cassandra
* binary not supported by cassandra
* new syntax: "1." (mysql,mariadb,oracle)
Fix bug in addLineClass/removeLineClass

\b can match the inside of a class name (-).
Add 'precise' option to getTokenAt() and getStateBefore() that ignores possibly dirty line states
[resize demo] Restore doctype

Which had been accidentally removed.
IE10 fixes

Makes the test suite run again.

Main problem was an accidentally shadowed variable that was only
used on IE.

Closes #1607
[real-world uses] Add WebKit Web inspector