Support nashhorn.

The JDK 8 JavaScript engine respects the "use strict" directive, and now
spots undeclared variables correctly.

Strings resulting from concatenation are not anymore java.lang.String,
but Nashhorn's internal string type, so these must be converted
explicitely to java.lang.String prior to invoke JDK functions.