[LayoutNG] Introduce NGBfcOffset, NGBfcRect \o/

This fixes a bunch of RTL issues we were seeing when
positioning floats.

Concretely now everything related to the BFC is calculated
in the {line_offset, block_offset} coordinate system.

Layout opportunities and the BFC offsets passed around are now
using these new types.

I didn't add any "magic" conversion utils, as they'd probably
be used wrong in the majority of cases.

Bug: 635619
Change-Id: I5dc175724e0732de2d4634708352d1bfa037e479
Reviewed-on: https://chromium-review.googlesource.com/631045
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Cr-Commit-Position: refs/heads/master@{#497309}
40 files changed