First pass at interactive rendering.

- Implemented only for RenderMan, but with a base class that can be used with other backends once we have Cortex support for rerendering in other renderers.
- Only rerendering light tweaks.
- Addressed a couple of const correctness issues.
- Reworked existing Render nodes to derive from Executable.
- Reworked WriteNode to derive from Executable.