[LayoutNG] Check box states in context matches to rebuilt one

From the review comment in r597459 (crrev.com/c/1258810),
this patch adds more complete (but not all) check for the
box states in NGInlineChildLayoutContext matches to the one
NGInlineLayoutAlgorithm rebuilds from scratch.

* One minor failure for |has_start_edge| is fixed in this CL.
  The diff does not affect the layout result today because it
  is used only when |needs_box_fragment| is set today, but is
  better to match.
* |needs_box_fragment| sometimes does not match. This needs
  larger fix that deferred to following patch.
* Other failures were problems in the check code. Fixed in
  this CL.

Bug: 636993
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng
Change-Id: I76d0c91c65e38c0135ec3fca91e716cac3937796
Reviewed-on: https://chromium-review.googlesource.com/c/1269727
Commit-Queue: Koji Ishii <kojii@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#598051}
4 files changed