Fuse.Scripting.JavaScript: clean up JSContext lifetime
Fuse.Scripting.JavaScript: clean up JSContext lifetime

We no longer need to have this as a member, so let's just make it
an argument to RunInner, so we can use a using-statement instead.

This has a tiny benefit of also dispatching exceptions during
JSContext.Dispose(), which would otherwise have gone unhandled. Not
that anyone is going to care.

fusetools/fuselibs-public,cbaggers/fuselibs-public,nekronos/fuselibs-public,cbaggers/fuselibs-public,fusetools/fuselibs-public,fusetools/fuselibs-public,fusetools/fuselibs-public,fusetools/fuselibs-public,yupferris/fuselibs-public,eksperts/fuselibs-public,eksperts/fuselibs-public,eksperts/fuselibs-public,eksperts/fuselibs-public,cbaggers/fuselibs-public,eksperts/fuselibs-public,fusetools/fuselibs-public,cbaggers/fuselibs-public,yupferris/fuselibs-public,yupferris/fuselibs-public,eksperts/fuselibs-public,kusma/fuselibs-public,yupferris/fuselibs-public,cbaggers/fuselibs-public,kusma/fuselibs-public,nekronos/fuselibs-public,nekronos/fuselibs-public,nekronos/fuselibs-public,eksperts/fuselibs-public,kusma/fuselibs-public,kusma/fuselibs-public,nekronos/fuselibs-public,cbaggers/fuselibs-public,yupferris/fuselibs-public,nekronos/fuselibs-public,nekronos/fuselibs-public,cbaggers/fuselibs-public,yupferris/fuselibs-public,fusetools/fuselibs-public,kusma/fuselibs-public,yupferris/fuselibs-public,kusma/fuselibs-public,kusma/fuselibs-public