Batch all editor updates together automatically via process.nextTick

Fixes #2642 #2635 

Previously, I was trying to explicitly batch editor updates together with the `batchUpdates` method, but it was going to be impossible to catch everything. The bugs referenced were caused by cases where we were forgetting to batch, which caused massive redundant work to be performed. This PR updates the update mechanism to always wait until the end of the current synchronous code block with `process.nextTick`. It seems to be more responsive than `setImmediate`, so this also supplants the mechanism that delayed updates for decorations.
Interesting. You'll have to do the same routine there. Maybe we should move it to spec helpers but I obviously want the installation of it to be opt-in. Alternatively, maybe we should have an API on the editor for manually flushing this stuff. Another approach would be using an actual `waitsFor` and spying on `render` or something.