Schedule reconciliation in a background thread.

It turns out that document listeners are run on the UI thread.