Add theme option addModeClass (for language-aware themes)

Adds the theme option `addModeClass`, which enables the CM option `addModeClass` if set.
When enabled, themes can apply styles language-aware with rules like `.cm-m-javascript.cm-variable`.
CMs `addModeClass` uses innerMode for class name determination, so modes like htmlmixed, php or gfm work correctly, too.

See also #8579.
cc @MiguelCastillo 
This should probably be a theme setting in the theme dialog, otherwise users would have to go to specific themes package.json to disable this.  Similar to enable/disable scrollbars.  What do you think?