Add serious UTF-8 support

Provide compatibility with Ruby 1.8.7 and Ruby 1.9 - 2.0