cc::ResourcePool - Re-use larger resources for smaller requests

Allows cc::ResourcePool to re-use larger resources to fulfill a smaller
request. This avoids expensive allocations, and is especially useful in
cases where layer sizes are changing due to animation.

Also extends the timeout for resource expiration from 1s to 5s, which
will also cut down on resource allocations.

CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2726263003
Cr-Original-Commit-Position: refs/heads/master@{#456202}
Committed: https://chromium.googlesource.com/chromium/src/+/830cb220146684c38b9aa4da3f39e96c37a59f33
Review-Url: https://codereview.chromium.org/2726263003
Cr-Commit-Position: refs/heads/master@{#470023}
17 files changed