Fix block offset used by absolute-positioned objects

Absolute-positioned objects can be positioned as static
if top/bottom is auto. That's why they need to know
their block offset that composes from content_size and current
MarginStrut.

List of changes:
1) Set the correct block offset for absolute-positioned objects
2) Do not reset text child's margin as we need them to set
MarginStrut properly.
3) Move ComputeMinMaxContentSize and Style methods definition to
the base class and make them to be pure virtual methods.
4) Change CalculateMargins to work with NGLayoutInputNode base class
5) Update TestExpectations

BUG=635619
TEST=virtual/layout_ng/fast/block/margin-collapse/002.html and others

Review-Url: https://codereview.chromium.org/2773453004
Cr-Commit-Position: refs/heads/master@{#459499}
12 files changed