ScriptModule: add javadoc and comments
ScriptModule: allow language to be overridden

In particular, the Script Editor wants to control the language being
used more precisely, and not just by inferring from a file extension.
ScriptModule: handle stdout and stderr better

ScriptModule no longer calls the (soon to be obsolete) initialize method
of ScriptService, but instead does the initialization inline as part of
its run method (which intended to be *the* way to run a script).

As part of this refactoring, the output and error writers get set to
match those provided to the ScriptModule, if any. So now calling code
can provide Writers for recording stdout and stderr.
TextEditor: also inject Context and ModuleService

Having these will be very useful later, after some further refactoring.