Hardcoded caustics
Rewrite photon tracing code.

Split trace_photon into two different functions. One for diffuse and
another for caustic photon maps. Irradiance  and reflect/transmit/absorb
values for photons are still hardcoded. Need to switch to nearest n
neighbours before a better irradiance can be done.