Reworked CodeMirror.

Took the docs from the current CodeMirror version 3.12, filled all in and created JSDocs in typings.

Using 0.9 (generics and override by string literal).