invoke $digest() repeatedly until its no longer dirty