Currently, when passing a List<Foo> to an android API, a copy is made on the
java side in a java.util.ArrayList which means that if updates are done to
either the java list or the managed list, they are not reflected on the other
side of the boundary.
People can use JavaList/Dictionary already for more efficient collections, but
we should enhance the IList/IDictionary ctors of these types to "connect" the
lists so that changes on either side are Live on both sides.