[LayoutNG] LayoutNG table-caption implementation

New passes fast/writing-mode/table-hit-test.html and
tables/mozilla_expected_failures/marvin* had been failing in LayoutNG
because the captions were not centered above the table, for some reason.

The rebased test fast/table/multiple-captions-display-expected.png
failed due to differences on the edges of text inside the caption.

New failure accessibility/table-caption.html fails because the js
accessibility controller can no longer see the caption as a table child,
for some reason.

Making tables/mozilla_expected_failures/bugs/bug3166-16.html pass will
need some digging. Legacy and NG before this patch centered the caption
above the table. But after this patch, it is moved left. Further,
hovering over the caption triggers a DCHECK in the hit testing stack, so
maybe we need to set an offset after all.

ng_physical_fragment.h(144)] Check failed: is_placed_.
blink::NGPhysicalFragment::Offset()
blink::NGPaintFragment::Offset()
blink::NGBoxFragmentPainter::NodeAtPoint()
blink::NGBlockFlowPainter::NodeAtPoint()
blink::LayoutNGMixin<>::NodeAtPoint()
blink::LayoutTable::NodeAtPoint()

Bug: 635619
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng
Change-Id: I7fcb33e791a9f0d812674a5f7f63cb5964c02a6e
Reviewed-on: https://chromium-review.googlesource.com/1050414
Commit-Queue: David Grogan <dgrogan@chromium.org>
Reviewed-by: Robert Ma <robertma@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#557632}
13 files changed