Fix #1240: Add stop() to AsyncJSEnv

AFAIK: No. We cannot interrupt Rhino itself (without instrumenting the JavaScript), but we can interrupt our event-loop (or anything where Rhino itself blocks or waits).

This covers the most important use case of `stop()`: JS code which is faulty and does not allow the event-loop to terminate.