Kick ProcessScheduledActions while a commit is pending

We can get into situations where the render compositor is at the pending swap limit but we won't get any swap acks until we allow a pending commit to complete.  For example, on windows when using ubercompositor the browser's UI thread can be blocked on an NPAPI plugin (via HWND parenting) and the NPAPI plugin can be blocked on running a piece of javascript that is blocked on the render process main thread which is blocked on the commit finishing.  When we're in this state, we need to continually ProcessScheduledActions() in order to process any pending uploads, etc, so the commit can complete and release the deadlock.  This sort of thread dependency is rare, and polling is not the ideal behavior for framerate, so this sets up a repeating timer at 1/2 the expected framerate to make sure we don't block forever but usually use the normal BeginImplFrame mechanism to rate limit.

The deadlock here is specifically:
1.) Render compositor's FrameRateController is at the swap limit
2.) Render compositor's frame is pending on the browser UI thread's message loop
3.) Browser UI thread is blocked on ::SetWindowPos(), which is synchronous on the thread owning the HWND (a windowed plugin in this case)
4.) NPAPI plugin's thread is blocked executing a synchronous call to its host
5.) Render process main thread is blocked waiting for its commit to complete
6.) Render process compositor thread has uploaded all the textures that ResourceUpdateController wants to upload per tick and is waiting for a frame to be produced before it uploads more textures

This releases the deadlock by calling cc::Scheduler::ProcessScheduledActions() which calls cc::ThreadProxy::DidAnticipatedDrawTimeChange() which then calls cc::ResourceUpdateController::PerformMoreUpdates() with the new anticipated draw time.  The ResourceUpdateController will eventually upload all of the textures pending in the commit and unblock the commit completing.

BUG=317430
R=enne@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234728 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 234728