Make CodeMirror configurable

Both on a per class and per instance basis, using an option dict
in constructor and per class dict
fix default empty option
doc fixes
Merge pull request #2894 from Carreau/cm-configurable

Cm configurable