Make jsdom an optional dependency

The rationale is that many people use NPM to install dependencies for browser apps (not Node ones), and `jsdom` is a problematic dependency because it requires Xcode instead of just command-line-tools on OS X.