Use CMs electric chars

This fixes multiple issues:
#1324, #8434, #8723, #8980, #9120


I verified #8395 (fixed by #8439) is still fixed.

There's one behaviour change (tracked via codemirror/codemirror#2812):
In a switch statement (JS), the cursor automatically indents 2 units, but back-indents as soon as you type "case".