IPEP 23: Backbone.js Widgets

[Not Ready To Merge]

See [IPEP 23](https://github.com/ipython/ipython/wiki/IPEP-23%3A-Backbone.js-Widgets) for a detailed description.

Very rough example of how custom widgets could be implemented by the user:
https://gist.github.com/jdfreder/6921696