ClipRectsCache never uses 1/3 of its slots

Previously, ClipRectsCache allocated two slots for each type of cached clip
rects, but the only clients that wanted to ignore overflow clip were those that
cared about PaintingClipRects. Rather than using two enums and dodgy math, this
CL makes the slots in the cache explicit.

In this CL, I've also reworked the ClipRectsCache and ClipRectsContext API to
be less baroque and to avoid doing extra work when not necessary.

This CL makes the compositing update for Polymer's calculator 2% faster.

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

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