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
Perhaps `subscribeRedrawBatched` would be more clear, as it emphasizes in the code calling it directly when the callbacks are called.