Started implementing a copy-on-write scenegraph.
Experimenting with copy-on-write structures
Way too many things in this commit