Right now we may end up calling CCRunnerFired quite a few times before deciding to stop it or call CC - meaning there are quite some wake-ups even if the browser is otherwise rather idle.
I was thinking that maybe we could finish sooner, just try to find some slice which would do some work. Or the recursive call will just kill the CCRunner if there isn't anything to do.
Note, the earlier 'else if' still forces the most important forgetSkippable calls and such.
Calling the method recursively is just the easiest way to implement the approach.
The return value of the method is true, if some work was done.
(still away from my main machine, so moz-phab doesn't work. Misusing data-review)