initialize color before cursor (closes #12)
use CodeMirror's somethingSelected() instead of getSelection()
in CodeMirrorAdapter: correct detection of self-triggered changes

use new attribute 'ignoreNextChange' that is reset when a change event
is triggered, instead of a 'silent' attribute to detect changes
triggered by the 'applyOperation' method. The old approach didn't
reliably suppress change events when the 'applyOperation' was called
from a function that run inside a CodeMirror operation. This caused
CodeMirror's change event to run after 'applyOperation', when the
'silent' attribute was true again.