Add spm support
Use Element.matches if available

Spec:
http://dom.spec.whatwg.org/#dom-element-matches

Support in Chromium:
https://code.google.com/p/chromium/issues/detail?id=326652
Always expose D3 onto the environment global

With regards to #1689 adding AMD compatibility, it seemed odd to me that
D3 opt'd out of exposing itself globally for third-party plugins.

Within a discussion about this very problem, found here:
https://github.com/jakevdp/mpld3/issues/33#issuecomment-32101013

the argument is made that exposing the global defeats the point of
module systems.  I agree that module systems help avoid global
pollution, but that is not something I'd consider the point of module
systems, especially since they are registered in a global namespace
themselves.

This patch will fix third-party modules that are shimmed.
Support instanceof d3.{color,rgb,…}

This also makes it possible to create a subclass of d3.color outside of the core
library, which would then support automatic interpolation.
Revert "Remove workaround for WebKit bug 44083."

This reverts commit 2b148070553c9493cae01d4960d283ec5bdf957f.

Fixes #1903.
selection.classed: coerce name to string.

Fixes #1625.
Use element.matches if available.
Added locale for spanish
Fix #1933 - set zoom center on zoomstart.

Rather than set the zoom center on the first mousewheel following a mousemove,
we now set the zoom center on the first mousewheel event of a zoom gesture. This
is slightly simpler logic and avoids confusing behavior during constrained
momentum scrolling.
Fix es-ES locale.
Fix reported center.
Minor optimization.
Add missing import.