Survive ASCII incompatible encodings + have fun 🎉

The we monkey-patch `String#encoding` to make it resistant to `Encoding::ConverterNotFoundError`
as the test itself is broken code. It relies on the fact that `#non_empty`? is called at least once before
`String#encode` errors.