Revert of Divorce PaintInvalidationState from LayoutState (https://codereview.chromium.org/360833002/), and
Use reference for paintInvalidationContainer param of invalidatePaintIfNeeded (https://codereview.chromium.org/374833007)

Reason for revert:
This is the second attempt of reverting r177621; this time r177694 is
reverted together to avoid compile error.

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 r177621 seemed
most suspicious among others.

Let me try to revert this change speculatively and see how it goes. If this
was not the culprit, I will revert this revert.

r177694 had to be reverted together, since some portion of it depended on
r177621.

Original issue's description (r177621):
> 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

Original issue's description (r177694):
> Use reference for paintInvalidationContainer param of invalidatePaintIfNeeded
>
> BTW also change getPaintInvalidationReason, incrementallyInvalidatePaint
> and fullyInvalidatePaint which are called only by
> invalidatePaintIfNeeded.
>
> Review URL: https://codereview.chromium.org/374833007
>
> git-svn-id: svn://svn.chromium.org/blink/trunk@177694 bbb929c8-8fbe-4397-9dbb-9b2b20218538

TBR=jchaffraix@chromium.org,chrishtr@chromium.org,dsinclair@chromium.org,esprehn@chromium.org,leviw@chromium.org,wangxianzhu@chromium.org
BUG=363834

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

git-svn-id: svn://svn.chromium.org/blink/trunk@177725 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Making use of bindless variants mailbox produce/consume on remainders.

BUG=375501

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

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