Support implicit script parameters

To support the ImageJ 1.x macro engine properly, we have to transport the value of `Macro.getOptions()` -- which is thread-local, among other complications -- to the engine, even if the macro is actually executed on a different thread than the caller.

The easiest way to perform this trick is to pass the options as an input to the `ScriptService#run` method, but that requires this PR to allow for input parameters that have *not* been specified by `@` parameters in the macro itself.