add browser support via umd pattern

Wrapped in a modified [UMD.js 'returnExports' pattern](https://github.com/umdjs/umd/blob/master/returnExports.js) for browser support, while maintaining jshint pass.