Group up style information changes and report at the end of an op batch

Operation batches that modify a large number of paragraphs (or repeatedly modify the same paragraph) can cause numerous unnecessary style change events to be triggered. Rather than reporting these instantly, track them as they occur and emit the style change summary on batch end.

Related to #610.
This means we have naming pattern `emitStylingChanges` vs. `updateEnabledState` for methods which do similar things (changing the state verbosely). I would prefer to stay with the latter pattern, as updating the data is what is done here, and emitting the info is more a side-effect.