Build: Don't assume the browser environment; smoke test on Node w/ jsdom

Fixes gh-1950
I think it's fine to put it in `default` *and* `test`, but leave it out of the watch task. Promises/A+ tests should be in `test`, but maybe we'll take `test` out of `default` when it gets too slow.