Shallow rendering support (#2393)

Now handles updating. Haven't looked at refs yet.
Merge pull request #2497 from graue/2393-v1

Basic shallow rendering support (#2393)