(new api) Providing a utility-function to execute code in a new JS context

`runInNewContext()` is implemented as widely as I could manage (although I haven't had time to
test it in every client implementation in question). At the very least, it works in most clients,
*and* server-side in Node.js.

Squashes: dfc23..47264, 87c48..074e5, cbf37..db6e3
(- meta fix) Adding a magic-comment to prevent bundling `vm` for the client

Since we're *implementing* `runInNewContext()` for the browser, I don't want Browserify to
needlessly bundle *its* implementation of such.
(new api) Implementing `subclass()` to faux-subclass `Function`

Eventually, I need to abstract this for other purposes ... but right now, all I need, is `Function`
subclasses. So that's all this supports.

On I.E.s, this uses `runInNewContext()`, and all of the caveats thereof thus apply here.
(- style fix) Coffeescriptizing.