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

Fixes gh-1788
I guess this is where most of the bloat comes from? We can't depend on a `document`?