Compute grapheme list for mid-ligature support on demand

This patch changes to compute grapheme list for mid-ligature
support only when needed.

This patch is part of the LayoutNG performance efforts.
As we measure LayoutNG performance, computing grapheme list
for every ShapeResult turned out to be not cheap.

Bug: 636993
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng
Change-Id: I58880530e56e0b1b965bd1a246bb8c3415b968a6
Reviewed-on: https://chromium-review.googlesource.com/1152640
Commit-Queue: Emil A Eklund <eae@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578699}
8 files changed