processMicrotasks

Runs the queued work, including anything it queues in turn, until the queue is empty.