We require a DOM implementation (at least in limited senses like having access to `document`), but should not fail to _initialize_ if it is incomplete—though `.css` etc. can generate exceptions in [such an environment](https://github.com/tmpvar/jsdom), other code like `.data`/`$.ajax`/`$.Deferred` should work just fine.

You have a point on CSSStyleDeclaration objects, though, and I think I'm back to supporting this `if ( !a )` early abort so we *don't* fail on `div.style.backgroundClip`.