Experimental String#scrub with Encoding::Converter

This changes String#scrub to use the Encoding::Converter API. This means that
this particular implementation now behaves the same as MRI does as far as I'm
aware of.

Massive thanks to @headius for coming up with the idea of using
Encoding::Converter and providing a proof of concept. I mainly adapted this for
Rbx with some minor changes.

Note that this particular implementation is *really* slow compared to MRI, it
is however faster than the String#chars version used before. Although I'd
prefer not to we might want to move this over to C++ land if webscale
performance is required.