handle exceptions inside interpreter.step

Javascript parsing errors will manifest themselves as exceptions thrown inside calls to interpreter.step()

For turtle and webapp (the two apps that call step() on the interpreter), we now catch these exceptions and ensure that an error message will appear. Unfortunately, it is a generic error message, but we do store the exception text which we could potentially leverage in the future. The parse exception text is in English, which isn't ideal. We should also consider using the step location information to highlight where we found the error in the program.