Break up the volume renderer code

This splits the `VolumeRenderer` class into several different classes. It should make it easier to add new `Actor` objects to the scene.
I know this was used in the original code, but `color_tf` and `alpha_tf` would be clearer than `ctf` and `otf`.