introduced new class BasicRay as lightweight alternative to (and base class for) class Ray, to be used in cases where only geometric properties (origin and direction) matter; TraceTicket is now referenced via the Ray class, rather than passed around separately.

corresponds to Perforce changes 6161, 6162.
header file cleanup: Weeded out frame.h, removing obsolete stuff and moving some definitions out to other headers; also weeded out a few other header files, moving some stuff to the corresponding .cpp files or to different header files.

corresponds to Perforce change 6163.
overhauled the implementation of the "inverse" keyword; also fixed three bugs discovered along the way (FS#315, FS#316, and another one previously masked by FS#316).

corresponds to Perforce change 6164.
forgot to commit source/base/colour.h
Merge branch 'hotfix' into refactor