Refactor to use more Segment, less Data

migrating the Parser towards the Segment usage. Also found a bug where
string pointers weren't adding runs for the strings they represented.
remove remaining _runs.Data uses

the last of the _runs.Data usages have been updated to use ISegments
instead. Hopefully this means I'll be able to start working on the data
tabs soon.