Allow creation of dynamic objects and array mutation with dynamic objects

As requested for the browser.

@tgoyne 

@GreatApe please test this to make sure this allows everything you need to do. The test ```testDynamicArray``` has an example of moving an element in an array using dynamic objects and the current interface.
There's an extra 'a' before 'given'!