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

Fixes gh-1950
> better still, moving "node-smoke-test" into a "test" task.

I had this in one version of a patch but this would be the only thing in the `test` task so far.

We'll also need to change the `npm test` script to do `grunt test` instead of just `grunt`.

Is that what you want?