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
You create an id in the constructor; are there situations when the id won't exist for some reason?