Reland "[LayoutNG] Pass Container() to NGOutOfFlowLayout instead of ContainerBlock()"

This is a reland of 2b38ceb8d26dfd7cd2607935e88ef31a81c38f78
Original change's description:
> [LayoutNG] Pass Container() to NGOutOfFlowLayout instead of ContainerBlock()
> 
> Fixes external/wpt/css/css-position/position-relative-* DCHECK crashes
> 
> Had to modify NGOutOfFlowLayoutPart constructor.
> 
> It used to take NGBlockNode to compute scrollbar sizes,
> contains_absolute, and contains_fixed.
> 
> Containing block can be arbitrary LayoutBoxModelObject with inline blocks.
> None of NG*Nodes can be constructed from LayoutBoxModelObject.
> => NGOutOfFlowLayoutPart constructor cannot take NG*Node, but must take
> all required LayoutObject properties instead.
> 
> Bug: 740993
> Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng
> Change-Id: I731800feddf5d53a9104f62d9d616f56a6195671
> Reviewed-on: https://chromium-review.googlesource.com/845499
> Commit-Queue: Aleks Totic <atotic@chromium.org>
> Reviewed-by: Koji Ishii <kojii@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#526328}

Bug: 740993
Change-Id: I707cbb81ebae967c870d65c53a7acbfd225f22c3
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng
Reviewed-on: https://chromium-review.googlesource.com/846459
Commit-Queue: Aleks Totic <atotic@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Reviewed-by: Aleks Totic <atotic@chromium.org>
Reviewed-by: Christian Biesinger <cbiesinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#527539}
7 files changed