iPython Notebook support

Fixes #7. Any recommendations for how to make this DRYer?