First pass at interactive rendering.

Currently 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. Currently only rerendering light tweaks.

Fixes #141.