use MutationObserver to make triggering reflow optional in good browsers