[jshint] adds 'define' predef
[refactor] UMD export to support AMD, Browser Globals and Node