Make this work in the browser as well.

Love the module, want to use it on the client side, too.

Needed some file renames to make it easier to integrate into existing browser-side stuff.  Hope that doesn't bother you.

If this doesn't look good to you, feedback on what I could change to get it accepted would be much appreciated.