Cached nesting views

Cached nesting views, for diorama 0.2.0. Simplifies the syntax for nesting views and allows users to specify a cache key which means views can be re-used between render calls.