Some things which should be done:
---------------------------------

    * Sampling
        - Transparency - deep fragment buffer
        - MB & DoF for bucket rendering
    * API
        - motion
    * CropWindow support
    * Variable flow
        - Investigate copying architecture
        - Make sure all standard vars are diced when necessary
        - Allow geometry to fill in Ng, dPdu, dPdv if desired
        - Make sure unneeded primvars are deleted
        - Investigate performance benefits of unique VarSpec's when lots of
          variables are present
    * Investigate more robust inverse bilinear lookup (use exact method?)
    * Surface tessellation
        - Transformation motion blur
        - motionfactor approximation
    * Arbitrary attribute & option support


    (The following need to happen after the core is solid)

    * More geometry types
    * Programmable shading


    (The following are not present in aqsis, but should be kept in mind & done
     at some stage)

    * Grid crack solution via stitching
    * Point-based occlusion & colour bleeding
    * Output of deep data
    * Raytracer prototype


Done:
-----
    * Bucket rendering
    * Handle general primvars
    * Handle AOVs
    * Implement a basic shader interface
    * API
        - basic RIB input
        - transform stack
        - attribute stack
    * Sampling
        - Supersampling
        - Image output filtering
        - Motion Blur sampling
        - Depth of field sampling
        - Effective stratification
        - Tile-based allocation for sample points
    * Surface tessellation
        - Reyes split/dice pipeline
        - Deforming surfaces
        - focusfactor approximation
    * Arbitrary bucket orders
    * Multithreaded bucket rendering
    * Occlusion culling
    * Use ErrorHandler for error and message reporting

