Fix dragging and zooming being incompatible

This required fixing some things in JSNetworkX's rendering that were
broken by D3 v3. Zoom, pan and drag now all work correctly together.
Add node costumes

Closes #85.
Make edge costume scaling proportional

Closes #7.
Add node costume serialization
Automatically numericize node/edge attributes when setting
Improve node/edge layout

To better separate larger nodes, node charge is now quadratically
proportional to node radius. Also, link distance now compensates for
node radius.
Specify layout algorithm explicitly

Another custom JSNetworkX build. The layout algorithm has been made
choosable in preparation for possible integration of something like
WebCola.
Hide jsnetworkx.js contents from diffs
Add export to DOT format