[LayoutNG] Support the '-webkit-box-decoration-break' property

This patch supports the rendering of the
'-webkit-box-decoration-break' property. This property is
used by 0.73% of pages according to UMA.

Also cleanup how NGLineBreaker commmunicates margins/borders/
padding to NGInlineLayoutAlgorithm through NGInlineItemResult.

The work for line breaker to take this property into account
is deferred to future work. Gecko (unprefixed) supports it,
while Blink and WebKit (prefixed) takes only the start edge
into account, ignoring the end edge. Edge does not support
this property yet. Also CSS WG resolved a change in its
behavior recently when used in bidi context. It will need a
bit more investigations.

Bug: 636993
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng
Change-Id: I8d87db5cd35441133a73fcead67901763026155d
Reviewed-on: https://chromium-review.googlesource.com/1146125
Reviewed-by: Emil A Eklund <eae@chromium.org>
Commit-Queue: Koji Ishii <kojii@chromium.org>
Cr-Commit-Position: refs/heads/master@{#577306}
7 files changed