WIP: Volume rendering

This PR implements volume rendering. It's basically a port of the technique that I use in Visvis.

Todo:

- [ ] make volume available in demo-data
- [x] make rendering work well with perspective camera
- [ ] deal well with anisotropic data
- [ ] make camera information nicely available in vertex shaders, also for e.g. imposters
- [ ] implement other rendering techniques
- [ ] implement clim (contrast limits)
- [ ] efficiency, make sure no program recompilation etc.
- [ ] set camera limits automatically based on visual bounds
- [ ] implement fly-through camera (yes, I want the camera *inside* the volume)

Actually, I think you can simplify it a lot:
```
view_tr_f = transforms.visual_to_document
view_tr_i = view_tr_f.inverse
```
Shouldn't that work?