Read-eval-print : the script engine does not need print so make it lazy
ScriptEngine.eval() forwards Error instead of new ScriptException

In Java we would have to wrap any checked exception in the declared
ScriptException. Runtime exceptions and errors would be ok and not
need to be catched. So let's do the same in Scala : catch and wrap
any checked exception and let runtime exceptions and errors escape.
I could have wrapped runtime exceptions with other exceptions in
ScriptException, but I did otherwise, this is a choice.