fix SEGV bug for mrb_str_new

`mrb_str_new` causes seg-fault when 3rd argument is negative.

```c
/* example for reproducing */
mrb_value s = mrb_str_new(mrb, "string", -1);
```