Empty beam model.
Keep the illumincation model in one place for now.
Sketch out the new classes to be used for lighting and surfaces.
Split out the project requirements into a new file.
Submodule fost-base 8907c51..86ca1e0:

> Add in a control macro for visibility of the log builder move
constructor.
  > Change the output streaming for `fostlib::string` to use the
underlying platform implementation
  > Redesign the thread handling.
  > Add in loading of requirements.jam file and PROJECT_REQUIREMENTS.
  > Fix a test so it's compatible with C++ 11.
  > Add a missing header.
  > Merge branch 'develop' of github.com:KayEss/fost-base into develop
  > Fix a bug in the stdout logger sink
Submodule fost-internet 799d16d..430df1a:

> Be absolutely sure that the URL parser lock is held when the parsers
destruct.
  > Also add the ampersand into the URL file specification.
  > Merge branch 'develop' of github.com:KayEss/fost-internet into
develop
  > Added ampersand to allowed characters in the file path of a HTTP
request on the server.
Submodule fost-orm e8fccee..40754aa:

> Change the type of the extensions for early versions of Boost.
  > Change behaviour based on the filesystem API version.
  > Fix a problem with the Android work around for older versions of
Boost.
  > Remove database test files after succesful compiles.
Submodule fost-py dc59f59..850ade4:

> Ignore data and mailto URLs when spidering.
  > The user agent now strips any doctype
Make better type determinations.
Empty light model.
Remove some dead types.
Lifted the basics of the illumination model into the scene class.
Add some comments.
Lift out the illumination part into the light class.
The light position is now stored in the light itself.
Handle ambient light and colour light.
Use the correct type for the dot product result.
Pull the ambient light into the scene.
Can now support coloured lights, at least for RGB colour space.
Refactor the RGB maths into the array class.