fix a lambda bindings bug

if a lambda has a std::string parameter, it will generate code like:

```
do {
      if (larg1) {
             js_proxy_t *jsProxy = js_get_or_create_proxy<std::basic_string<char>>(cx, std::basic_string<char>)larg1);
             largv[1] = OBJECT_TO_JSVAL(jsProxy->obj);
      } else {
             largv[1] = JSVAL_NULL;
      }
 } while (0)
```
the correct binding should be:

```
largv[1] = std_string_to_jsval(cx, larg1)
```