This will be needed for ensuring that shaped text is valid during
relayout. It duplicates some information, but the hope is that when all
of these change are done, there will be many fewer individual shaped
segments of text.
Testing: This should not really change observable behavior so is covered
by existing tests.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>