Replace Override.simple with Override.create

This pull request:
1) Renames Override.simple to Override.create
2) Adds support for the missing features that the override functions needed (returning longs and using the context).
3) Ports all the override functions to use Override.create
Hmm, I'd rather not pass *ctx* into every override function when only a couple of them actually need it.

For that matter, the only uses here are calls to *Context.prototype.newPrimitiveArray*, which doesn't actually depend on the context at all, since it just passes through the call to *Runtime.prototype.newPrimitiveArray*, which itself doesn't depend on the runtime, since it only accesses the *ARRAYS* and *CLASSES* global singletons.

So I would instead make *newPrimitiveArray* a global function (or hang it off the *ARRAYS* object) and then call it directly in those two overrides.

Alternately, if we'll really need the context in some overrides/natives in the future, then let's add a *context* boolean to the hash of *opts* that adds *ctx* to the arguments. Then those functions that need it will still have access to it, but we won't burden all function definitions with the extra parameter.