Gradual prefetching in GapWorker

Bug: 27106058
Test: Added prefetchItemsRespectDeadline, all caching tests still pass

Instead of prefetching all of the items at once, we do as much work as
possible before the deadline, based on create/bind cost estimates.

A vertically scrolling 3 column GridLayoutManager, for example, can
create/bind one item, and create one unbounded, if that's all that fits
in between frames. Expensive prefetches like that row are done
gradually, across multiple frames.

Also moves all usage of mPrefetchXXX to be fully owned by GapWorker for
consistency.

Change-Id: I9030b48244d18739f17c3b8503cefc588d462b56
3 files changed