Scenegraph

Opening this PR for discussion; not ready for merge.