***************************************************************************
DESIGN GOALS:
(in order)

(1) Image quality
(2) Memory-constrained execution
(3) Execution speed

***************************************************************************
CURRENT FEATURES:

(1) Demand-driven (or pull-through) API
(2) Memory Constrained execution (default 4MB), with forced caching.
(3) Open Architecture: Image processing operators, file readers/writers
(4) Open Architecture: Processing engines (image managers)
    (a) MiniMan: suitable for debugging & extremely low-RAM environments
    (b) SoftPullMan: conservative push-through execution
(5) High quality:
    (a) Floating point operations
    (b) "Film" pixel representation for 15b linear pixels with 50%
    over/under exposure.
(6) RpBinaryOp and RpUnaryOp templates for quickly implementing
    channel-uniform point-processing operations.

***************************************************************************
PLAN TO DO:

(1) feature: file format subsystem for abstracted file i/o
    Do not invest too heavily in file readers & writers -- 
    interfaces will change!
(2) implement: HardPull image manager for aggressive push-forward
    execution, suitable for efficient thread-parallel execution.
(3) implement: more file formats!!
(4) implement: more processing operators!!
(5) feature: subsystems to facilitate use in more interactive applications
