escape non-ascii characters correctly in String#inspect

String#inspect returns wrong octal strings because of a cast problem.
```ruby
puts "\xA0".dump
puts "\xA0".inspect
```

```ruby
"\240"
"\640"
```