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
is it a problem that we aren't calling `view.remove()` anymore?