Updates to IPython Notebook Rendering

(I should have probably broken this into two pull requests)

First is improvements around the 3d rendering. Uses a local lib to avoid requesting from remote servers, and uses IPython's new nb_extensions feature to avoid duplicating library code on each molecule draw. Using the "new" feature requires v2.0, but, if there's interest in back-compatibility, it can be implemented (ex. [mpld3](https://github.com/jakevdp/mpld3/blob/master/mpld3/utils.py#L57-L143)).

Second is switching out pngs for svgs. I did this for molecules, but didn't touch the reaction drawing... I'd imagine implementing it would be the same. I don't know if there's an explicit reason this hasn't been done; if there is, feel free to ignore that commit and keep using pngs.

Screen shot of it all working:

![screen shot 2014-05-04 at 1 29 20 pm](https://cloud.githubusercontent.com/assets/1449833/2873711/0fee2532-d3ba-11e3-88dd-c9a3a1eee65e.png)