Add animationFrameFlush.

I think we actually want `flush` -> `requestAnimationFrame` -> `flush` - the first flush to give observers a chance to resolve before waiting a frame (might be the next one)

Also, if you want to be fancy: `flush(requestAnimationFrame.bind(null, flush.bind(null, callback))`