CommonJS/RequireJS/AMD support

Hi
I've patched the code so that it should work as an AMD Module (with requireJS), a node module (as per commonJS syntax), or a browser global.

The declaration style keeps everything defined in a local scope and then only exposes window.numeric as a last resort.

**I've done a build, and all unit tests pass**

In order to get around the difficulty of the functions defined with the `Function` constructor, I had to wrap all of these constructions with a small internal function `_fn()` which simply does the following:

    function _fn( fn ){
        fn.numeric = numeric;
        return fn;
    }

so that the body of a function created with the `Function` constructor (which doesn't have access to the scope that defines numeric), will have access to numeric via

    var numeric = arguments.callee.numeric;

I think this was the best way of getting around the scoping issues. But if anyone has a better way, I'm all ears.

Cheers!