Add UMD wrapper to work with Node.js, AMD, and browser globals

Addresses #18, with the additional requirement that it "supports AMD, No-AMD and Node."