Make NGInlineItemsBuilder construct whitespace-collapsed offset mapping

This patch:

1. Introduces the NGOffsetMappingBuilder class with a mock implementation;

2. Allows NGInlineItemsBuilder to report how white spaces are collapsed
by taking an addition NGOffsetMappingBuilder parameter, and use it to
construct the whitespace-collapsed offset mapping. The way how the
NGOffsetMappingBuilder is used is straightforward: whenever |text_| is
modified, NGOffsetMappingBuilder should be notified correspondingly.

This patch is the part of the project to support DOM/TextContent offset
mapping in LayoutNG. Design doc: https://goo.gl/CJbxky

BUG=699017
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_layout_ng

Review-Url: https://codereview.chromium.org/2943573002
Cr-Commit-Position: refs/heads/master@{#483192}
7 files changed