Improve string decoder

Handle the escaping of `\"` and finds the right end quote (the first
quote that is not escapes)

With this changes we have
`json_decode('"test\\\"test"')` equals the result of
`JSON.parse('"test\\\"test"')` and is `"test"test"`