Refactored multi-threaded rendering.

The Tracer class is no longer multi-threaded, instead being only thread safe.
The integrator now spawns multiple Tracers to do multi-threaded rendering.
This significantly simplifies the Tracer code, and paves the way to properly
scaling multi-threaded rendering.