Limit the number of compositor hit test rects generated per layer

Compositor hit testing is a trade-off that increases layout time in order to decrease touch scrolling response time.  If we have reason to believe layout time would increase dramatically, we're better of risking an increase in scrolling response time instead.

In particular, the compositor currently performs an O(n^2) operation on the rects in a layer (crbug.com/300282).  This CL places a cap on the number of rects in a layer, falling back to marking the entire layer in one infinite rect (as for the dev tools overlay layer rect).

The limit of 100 rects per layer is chosen somewhat arbitrarily based on anecdote.  crbug.com/257461 tracks getting some good measurements on how often compositor hit testing returns a false positive (to ensure we're not being too conservative in rect generation).  crbug.com/263416 tracks landing my perf tests as a measurement run by the bots and running once against the Alexa top 1 million sites (to ensure we're not adding too much time to layout).

BUG=299177
R=leviw@chromium.org

Review URL: https://codereview.chromium.org/25011006

git-svn-id: svn://svn.chromium.org/blink/trunk@158932 bbb929c8-8fbe-4397-9dbb-9b2b20218538