Combine {path,Particle}Record into TracerRecord

Make it have a contribution field and an Accumulate() method that
uses it to accumulate correctly.
Add TracerWeightAccumulator class to keep track of MIS weights
Make PathTracer (partially) use TracerWeightAccumulator
Make ParticleTracer (partially) use TracerWeightAccumulator
Keep track of alternate first pBack values in TracerWeightAccumulator
Make PathTracer properly keep track of backwards paths
Make ParticleTracer properly keep track of backwards paths
Implement TwoWayPathTracingRenderer
Add TwoWayPathTracer versions of all scenes

Feature-End: twpt-basic