Enable hyphens: auto and none in BreakingContext

This patch enables "hyphens: auto"[1] (automatic hyphenation using the
dictionaries) and "hyphens: no" (disables soft-hyphens for heading and
a11y) in BreakingContext, along with a mock hyphenation dictionary for
testing.

The code to support hyphenation in InlineTextBox, LayoutText,
LayoutTreeAsText, etc. were still there and reused in this code.

LayoutText::computePreferredLogicalWidths() needs to support the
"hyphens" property to compute the min-content width[2]. This will be in
following patches.

Platform support for dictionaries will also be in following patches.

Detailed control of hyphenation defined in CSS Text Level 4[3] is not
included in this phase.

[1] https://drafts.csswg.org/css-text-3/#hyphens-property
[2] https://drafts.csswg.org/css-sizing-3/#min-content
[3] https://drafts.csswg.org/css-text-4/#hyphenation

BUG=605840

Review-Url: https://codereview.chromium.org/1978683002
Cr-Commit-Position: refs/heads/master@{#393972}
18 files changed