Fix jitter in React editor

Fixes #2797
Refs #2769

I previously thought that using `setImmediate` instead of `nextTick` fixed our jitter issues when requesting updates from animation frames, but it seems I was wrong. This PR returns to a strategy of updating synchronously in animation frames, so we never mix calls to `requestAnimationFrame` with `setImmediate`.

This PR also fixes an issue where we would handle stale `scroll` events emitted by the scrollbar elements while we were in the middle of updates, which was another source of jitter. Now we no longer get this kind of unintentional feedback when setting the scroll position in the model.

@Flannelhead: Could you try this out when it lands to see if it addresses #2769 on Linux?