ByteVec/Str: return `\ufffd` when decoding a continuation byte.

This isn't really sufficient to handle Latin-1 data smoothly since
most non-ASCII Latin-1 characters are not UTF-8 continuation bytes.
For that, you need to check if the decoded UTF-8 values is valid.