add CJS support

Hello!

This is a super cool library! I wanted to be able to `require` it from places like requirebin as well as using browserify. I tried to make this change as unobtrusive as possible, so the API hasn't changed at all, and the code changes were negligible size-wise. I also made the bare-minimum UMD guard for each file... while not perfectly safe I think it's safe enough.

Are you open to allowing this?

There is a slightly more safe variant that would involve the `./dist` versions actually being a standalone browserified version, but I figured that was too big of a change to just spring on someone (also worried about how much compiled code that would add).