Revert of Revert of Divorce PaintInvalidationState from LayoutState (https://codereview.chromium.org/377123002/)

Reason for revert:
Oops, this revert caused a compile error.

Original issue's description:
> Revert of Divorce PaintInvalidationState from LayoutState (https://codereview.chromium.org/360833002/)
> 
> Reason for revert:
> Speculative revert -- some change between
> 177596:177623 made DrMemory bot angry
> <http://build.chromium.org/p/chromium.memory.fyi/builders/Windows%20Content%20Browser%20%28DrMemory%20full%29%20%283%29/builds/283>.
> 
> It was not immediately obvious which change was to
> blame, but this one seemed most suspicious among
> others.
> 
> Let me try to revert this change and see how
> it goes. If this was not the culprit, I will
> revert the revert.
> 
> Original issue's description:
> > Divorce PaintInvalidationState from LayoutState
> > 
> > We don't actually benefit from most of the work LayoutState was doing to
> > keep track of offsets during layout. Instead, we were doing all that
> > additional work in both invalidation and layout but only using them for
> > invalidation.
> > 
> > The new PaintInvalidationState inherits the fast paint-offset caching
> > from LayoutState, but goes the extra mile to identify new repaint containers,
> > re-enable itself when disabled and an invalidation boundary is crossed, and
> > work for invalidation containers other than the root.
> > 
> > LayoutState was also improperly accumulating its layoutOffset using things
> > like scroll offsets, which resulted in incorrect rendering on
> > fast/multicol/shrink-to-column-height-for-pagination.html. This is fixed
> > with this patch because we no longer consider paint-specific offsets at
> > all in LayoutState.
> > 
> > BUG=363834
> > 
> > Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=177621
> 
> TBR=jchaffraix@chromium.org,chrishtr@chromium.org,dsinclair@chromium.org,esprehn@chromium.org,leviw@chromium.org
> NOTREECHECKS=true
> NOTRY=true
> BUG=363834
> 
> Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=177707

TBR=jchaffraix@chromium.org,chrishtr@chromium.org,dsinclair@chromium.org,esprehn@chromium.org,leviw@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=363834

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

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