Save and restore focus once per batch of operations

Focus saving and restoring is expensive on most browsers, so major gains
in performance are realised by not doing this for every operation. A new
pair of signals implemented by operation routers denotes when a batch of
operations is about to processed, and when the router has completed this
batch.

Note, there is no implied promises about how many operations are executed
within a batch. This is left as a choice to the router implementations.