Modifies this to cover only the text after
split_index, and returns a new item that covers the
split_index that used to be in this.
You can think of
split_index as the length of the returned item.
split_index may not be 0, and it may not be greater
than or equal to the length of this (that is, there must be at least one byte assigned to each item, you can't
create a zero-length item).
split_offset is the length of the first item in chars, and must be provided because the text used to
generate the item isn't available, so split can't count the char length of the split items itself.
byte index of position to split item, relative to the start of the item
number of chars between start of this and
new item representing text before