Take scripts as ~str to support non-ASCII string literals etc. …
The ASCII-based JS_EvaluateScript converts to UTF-16 internally, so this shouldn't be fundamentally worse (but I haven't benchmarked the two conversion routines or anything).