[LayoutNG] Stop giving the text before the line start to LineBreakIterator

This patch changes NGLineBreaker not to give the text before
the start of the line to ICU TextBreakIterator.

It looks like ICU computes all the text from the beginning of
the given text. Giving the block text content makes ICU to
perform much slower, especially when LayoutNG re-creates
break iterators on each line.

This patch improves ArabicLineLayout.html by more than double.
Also it is expected to improve all 16-bit cases.

For break-anywhere, this patch relies on r581771 (CL:1165276)
that adds StringView to NonSharedCharacterBreakIterator.

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