[DL]: Add a budget that yields between lifecycles if the deadline is passed.

This patch adds a yielding budget which tries to do as much work as
possible within the budget. If the budget expires, it yields between
lifecycles.

This patch also makes this the default budget, since it's the best
behavior currently implemented.

See YieldingDisplayLockBudget::GetCurrentBudgetMs() for the time budgets.
These were picked arbitrarily, but I think they seem reasonable.

R=chrishtr@chromium.org

Bug: 907619, 882663
Change-Id: If8b3680df6b52690c238f23a319591dd8e181add
Reviewed-on: https://chromium-review.googlesource.com/c/1388159
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Commit-Queue: vmpstr <vmpstr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#619453}
6 files changed