Fix paint invalidation logic for RenderText.

Previously, there was some special logic in RenderText::clippedOverflowRectForPaintInvalidation
to detect a special scenario when the paint invalidation container of the
RenderText was a child of the containing block/layer of the RenderText.
This had two flaws: one, it was checking for a condition different than that, and
two the descendant check is quite expensive if the paint invalidation container
is far away in the render tree from the RenderText.

The intent of the code is to delegate invalidation to the containing block/layer.
The new implementation does that directly, by overriding containerForPaintInvalidation as well as
clippedOverflowRectForPaintInvalidation
to delegate directly.

This also fixes a bug in which RenderText objects invalidate much too widely
if the RenderText is being reparented accross a frame boundary. This started
happening because now we let paint invalidation containers cross frame boundaries.

BUG=410541

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

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