fixed uninitialized AOVs causing missing samples in main output.

in renderer::ShadingResult:

  - renamed clear() to set_to_transparent_black().
  - set_to_transparent_black(), set_to_solid_pink(), set_to_linear_rgb[a]() now also clears the declared AOVs.
  - renamed is_valid() to is_valid_linear_rgb().
  - renamed composite_over() to composite_over_linear_rgb().
  - improved documentation.
removed redundant #include statements.
small optimization and refactoring in the handling of alpha mapping in the path tracer.
moved handling of alpha mapping from the individual surface shaders to the shading engine.
refactoring.
many improvements to foundation/mesh.

- the following symbols are now DLL-exported:
      foundation::IMeshBuilder
      foundation::IMeshWalker
      foundation::MeshBuilderBase
      foundation::IMeshFileReader
      foundation::IMeshFileWriter
      foundation::GenericMeshFileReader
- added foundation::GenericMeshFileWriter.
- foundation::IMeshWalker is no longer restricted to triangular faces.
- added support for material slots to foundation::IMeshWalker.
- added new mesh file format dubbed "BinaryMesh" (file extension .binarymesh).
- added many missing OVERRIDE keywords.
added a new convertmeshfile tool to convert a mesh file from one format to another.