Add direct lighting path type to PathTracer

Use it for the Cornell box scene.

Feature-End: direct-lighting
Add a command-line switch for the RNG seed

Feature: rng-seed
Add Cornell box with sphere light scene

Feature-Start: sphere-partial-sampling
Add ConvertToCoordinateSystem() utility function
Add uniformSampleCone() and uniformConePdfSolidAngle() functions

Also add MakeSphericalDirection() function.
Add configuration option for sphere sampling method
Implement sampling only the visible surface of the sphere
Implement fast version of sampling a sphere's visible surface

Feature-End: sphere-partial-sampling
Pass down shapes to sensors

Feature-Start: radiometers
Add PointShape class and use it to remove sensors' position fields
Make output of RadianceMeter more descriptive
Pull out mean/variance calculations into their own class
Add uniformSampleHemisphere and use it in DiffuseMaterial
Add IrradianceMeter sensor
Pull out shape-sampling functionality into shapeSet type
Add SampleSurface function to shapeSet
Add pEpsilon parameter to shape sample-from-point methods
Add FluxMeter sensor

Feature-End: radiometers
Add Sensor.RecordDebugInfo() method

It will be used by renderers to record helpful spectrum-valued
debugging info.

Feature-Start: record-debug-info
Implement RecordDebugInfo() for RadianceMeter