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.
Could you rename it to `data_source` or something similar.