Partial rebuild fails when inserting into StatefulArray 

WidgetList listens to StatefulArray changes via watchElements. Before
that event is fired the new elements are inserted into the StatefulArray
as undefined values. Then the values are set in a stateful manner via
set(index, value). This leads to a property value change event being fired.
The WidgetList will update the target prop in the child widget. This is
where things go wrong. The WidgetList's new children are not inserted yet.
Therefore the target of the current child widget at the index is updated.

Given a list of names like ["john", "will"]. Inserting a new name "Henry"
at index 1 result first in update of the second widget being bound to "Henry"
 instead of "will" and then a new widget is inserted at index 1. Effectivly
the WidegtList is now bound to ["john", "henry", "henry"] and the Stateful
instances at index 1 and 2 are identical.

The problem can be resolved by not updating the elements in a stateful
manner.