define(d3) breaks source code transformers

Many thanks for supporting AMD! This PR makes one small amendment - changing `define(d3)` to `define(function () {return d3;})`. While it's perfectly valid, unfortunately `define(d3)` causes problems for source code transformers such as AMDClean ([see this issue](https://github.com/gfranko/amdclean/issues/48)), which incorrectly assume `d3` is a factory function. Creating an anonymous factory function is a fairly common pattern, and it eliminates this ambiguity.