Interact/Interactive for widget

This is a first official go at implementing interact/interactive on top of IPython's widgets. Closes #4883