Improve large selection removal performance

This collection of changes fixes issue #672.

Brief summary
* Delay signalling of the DirectFormattingController's enabled state changes until the op batch is complete
* Avoid enabling remove hyperlink button if hyperlinks feature is disabled
* Only update hyperlink button state once per redraw
This should get some comment/declaration how the signals are batched, i.e. when they will be emitted.
And an explicit hint next to the typing that this only works with parameterless callbacks might prevent any bad ideas, like I just had ;)