* Put inline/port inputs in a shared pixel cache per node (rather than per input)
* Make preview and controls independent of node collapsed state
* Tidy up MaterialNodeView a bit
* Introduce PixelCacheProfiler for somewhat manually hunting down bad pixel caches