Refactor LayerGroup to use a modifiable list of Layers.

This is more idiomatic Dart as can be seen in Element.classes, Node.children, and NodeList. Updates to the lists are reflected in the underlying system.