Move bidirectional path weight computation into its own function

Feature-Start: bdpt-mis
Add a configuration option for bidirectional path weights

Name the current one "uniform".
Add scaffolding for MIS bidirectional path weight computation

Also add option to use MIS bidirectional path weights (with the balance
heuristic) and make bdpt scenes use it.
Add Shape.ComputePdf() method and implement for all shapes
Implement ShapeSet.ComputePdf()
Add Light.ComputeLeSpatial() method and implement for DiffuseAreaLight
Add Light.ComputeLeDirectional() method and implement for DiffuseAreaLight
Implement PathVertex.ComputePdfSurfaceArea()
implement calculate local alpha
Implement calculation of MIS bidirectional path weights
Add option to use power heuristic for MIS bidirectional path weights

Use the power heuristic for all bdpt scenes.

Feature-End: bdpt-mis
add check
add output
more output
tweak
bug fix (?)
add check
WIP unroll
WIP 2
stash albedo