allow browserify to run over fabric.js

These changes provide a shim to avoid trying to pull in `jsdom`, `node-canvas`, and `xmldom` when attempting to run fabric through browserify.  Since there is a check for `isLikelyNode` before performing operations that are specific to the platform these changes should work just like if you loaded fabric.js in the browser directly.

closes #1368