std::str: Only check char boundary for end index in .slice_to()
std::str: Use CharOffsetIterator in slice_chars