Create an iterator positioned before the indexth code unit of the string.
When created, there is no current value. A moveNext will use the rune starting at index the current value, and a movePrevious will use the rune ending just before index as the the current value.
The index position must not be in the middle of a surrogate pair.