Do not abort on non-string errors

Commit a62819e only addresses tables. Any other error not coerced to string, in
particular `nil`, can bust busted. The following test exposes the problem:

```
describe('busted', function ()
    it('must handle any error value', function () error() end)
end)
```

and results in:

```
[...]/utf_terminal.lua:22: attempt to concatenate field 'err' (a nil value)
```

This patch forcibly converts `err` to `tostring(err)` if it is not string or a
table onthe core side.