str: Implement a faster Chars iterator for &str

Reimplement the string slice's `Iterator<char>` by wrapping the already efficient
slice iterator.

The iterator uses our guarantee that the string contains valid UTF-8, but its only unsafe
code is transmuting the decoded `u32` into `char`.
It will have to be commented. Initial byte in range `0xE0 .. 0xEF` is the three byte case, and in that range the 5th bit is clear.