Make leading OOF objects to be handled by block layout in LayoutNG

This patch changes LayoutNG's LayoutObject tree for DOM examples with
OOF object

We want to use the block layout for out of flow positioned
objects when they go in front of inline blocks or if they are just
standalone objects.
Example 1:
<div id="zero"><div id="oof"></div></div>
  Legacy Layout: #oof is in inline context.
  LayoutNG: #oof is in block context.

Example 2:
<div id=container><oof></oof>Hello!</div>
  Legacy Layout: oof is in inline context.
  LayoutNG: oof is in block context.

Example 3:
  <div id=container>Hello!<oof></oof></div>
  Legacy Layout: oof is in inline context.
  LayoutNG: oof is in inline context.

This also deprecates ShouldHandleByInlineContext in favor of
LayoutObject::ChildrenInline()

2 new failing tests:
floats-clear/floats-114.xht
floats-clear/floats-040.xht
Those are reftest, this patch fixes border/padding issue for OOF so they
started failing because we need to fix reftest as well.

BUG=712665,635619

Review-Url: https://codereview.chromium.org/2847823002
Cr-Commit-Position: refs/heads/master@{#470179}
6 files changed