Allow paint invalidation containers to cross frame boundaries.

Previously, the *actual* paint invalidation container, meaning the enclosing
compositing layer / root RenderView, could already have been across a frame boundary. The logic to do this correctly was done via special code in RenderView.

Instead, generalize the existing mechanisms to find a paint invalidation container
and map rects to repaint container coordinate space to cross frame boundaries.
This simplifies the code, and also causes paint invalidation rects to always be stored
in the coordinate space of their graphics layer backing. The latter is important if we want
to use these rects for determining which parts of a graphics layer need to be painted.

BUG=401156

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

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