Scene cache previews

This adds the ability to preview scene caches in both the browser and view apps. The preview allows a camera to be added to the cache, tracking an element within it, to aid in previewing animation.

I've decided against adding a WitnessCamera node accessible to users for now. I'm not totally against the idea, but I think one thing it should provide would be the specification of where the parent for the camera is - and that's not really possible until we allow PathFilters to have inputs. PathFilter inputs _are_ next up on the todo list though so once they're done I'll be happy to listen to arguments for making a variant of the _Camera node into something public.

I'm not particularly enamoured with the new node toolbars - one of my aims is to keep things free of on-screen clutter as much as possible, and they do feel quite cluttered. I'd like to have options for hiding and showing them dynamically in the future, and think about having smaller items in them with popup UIs for editing the details, rather than the current list-of-crap approach. I do think it's worthwhile introducing them even in this form though so we can start to use them and get them refined as we go. The only thing using them at this point is the scene cache preview.

aaf4c2d is worth discussing - when I committed it I believed I had totally irradicated the "invalid drawable" errors, but later discovered that still show up when toggling between fullscreen and non-fullscreen view. Currently I'm out of ideas for fixing that, having spent a good deal of time on it - it may be that we really just need Qt/OS X to get the root cause sorted. Given that, I'm not sure whether it's worth having this partial fix in or not - I'm totally open to removing it if people don't want the extra clutter in the code.