overhauled the logging module.

- removed log message categories.
- added support for user-defined log formats.
- added facilities to save the configuration of a logger and automatically restore it when leaving the scope.
- by default, log messages are now prefixed with the date, time and thread id.
- warnings and errors (fatal and non-fatal) emitted during unit testing are now displayed.
fixed errors and warnings emitted during unit testing.
fixed typo.
renamings.
cosmetics.
overhauled the handling of non-physical lights and implemented directional lights.
added missing reference images.
added missing #include statement.
fixed thin lens camera's autofocus when the camera's transform has a non-unit scaling component.
print mouse coordinates (in pixels and NDC) when hovering over a render widget.
renderer::g_light_wavelengths is now a renderer::Spectrum instead of just being an array of floats.
set initial lights transformation to identity.
renamed a variable.
in appleseed, lights energy is defined in terms of radiance, not exitance.  renamed everything accordingly, except for the actual lights inputs in order to maintain compatibility.  a solution to this (input aliases?  extend normalizeprojectfile to upgrade scene files to the latest version?) will eventually need to be implemented.
implemented physically-based sun (as a directional light).
renamings and comment tweaks.
tweaked test scene.
fixed double ceiling in killeroo demo scenes.
implemented a BRDF model based on microfacet distributions.
added exitance multipliers to point lights and directional lights, for consistency with the other light types.