Fix Hash#to_utf8!.

This wasn't actually working right; replace with a proper recursive
implementation defined all the way down to Object.