[LayoutNG] Make LayoutNGFlexibleBox inherit from LayoutBlock

It previously inherited from LayoutNGBlockFlow, which, aside from
violating is-a, prevented inline flex children from being blockified --
LayoutNGBlockFlow::AddChild does not call LayoutBlock::AddChild, which
is where the blockification happens.

Considered inheriting from LayoutFlexibleBox to get better baseline and
intrinsic size support, but those will have to be reimplemented in
LayoutNG anyway.

With this change, IsLayoutNGMixin() is even further insufficient to
check if a LayoutObject is implemented in NG. I modified some of the
checks to include IsLayoutNGFlexibleBox, but am not sure about the
accuracy.

mac-specific css3/flexbox/button-expected.png is because the underline
in the link is 1 pixel shorter.

Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng
Change-Id: I42811edeb53e8e2a80a64d5b30bf6627e0957b7d
Bug: 845235
Reviewed-on: https://chromium-review.googlesource.com/1062499
Commit-Queue: David Grogan <dgrogan@chromium.org>
Reviewed-by: Christian Biesinger <cbiesinger@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#561661}
13 files changed