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