std::str: Use iterators instead of while loops for CharSplitIterator