Revert 251918 "Do not send a frame swap ack from the browser unt..."

The bots tells this CL broke most of the webrtc browser tests on Mac.
http://chromegw/i/internal.chromium.webrtc/builders/Mac%20Tester


BUG=344912
TEST=webrtc bots.

> Do not send a frame swap ack from the browser until the frame is drawn
> 
> Code to do this was recently removed because it was no longer being
> used in r241225 (https://codereview.chromium.org/116103002). This is
> now necessary again to throttle renderers when using CoreAnimation.
> 
> Frames are acked only when they are drawn. Both the CoreAnimation and
> the non-CoreAnimation paths are changed to behave this way. By virtue
> of the fact that the non-CoreAnimation path draws immediately, this
> should have no functional effect on that path.
> 
> This differs from the mechanism deleted in the aforementioned patch in
> two ways.
> 
> First, it uses a scoped_ptr of a struct instead of a vector of pairs to
> store the information about the swap being returned. This should improve
> readability in that the ack has struct names instead of just first and
> second in the pair, and in that the scoped_ptr does not suggest support
> for multiple pending swaps (which does not exist).
> 
> Second, it does makes RWHVMac ack frames more aggressively when
> inside a draw call, rather than adding a call from RWHImpl to the view,
> to effect the ack (which is what the old way does).
> 
> BUG=340133
> 
> Review URL: https://codereview.chromium.org/165703002

TBR=ccameron@chromium.org

Review URL: https://codereview.chromium.org/172633002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@252031 0039d316-1c4b-4281-b951-d872f2087c98
LKGR w/ DEPS up to revision 252031