Start implementing VCM renderer.

* Doing so I broke the old path tracer.
* This code is purely based on:
    https://github.com/SmallVCM/SmallVCM
* Mostly this implementation is just a learning experience.