Allow widgets to display more than once within container widgets.

Adds the ability to display multiple widgets within container widgets and adds indexing by view.id in addition to model.id.

closes #5958
Whoops, looks like it is still used.  See line 307, it's passed into create_view.  `create_view` in the IPython widget manager uses it to keep track of the widget view's cell- `cell: cell`.