nodejs support

hi! 

this patch adds nodejs support. it does so in a way that is unobtrusive, e.g. tabletop.js can still be loaded into a browser and it works just fine.

you can run `npm install` and then `npm test` to see it working.

also if you accept this you should do `npm publish` to put it on the NPM registry!

thanks,

p.s. I wrote this for Open News as part of @jllord's Sheetsee.js code sprint :cat2: 

max