Initial revision
Use 2x2 squares instead of orthogonal neighbors.
Final 0.1 version.  Changed 2x2 blocks to weighted 3x3 neighborhood.
Changes for version 0.2:
Removed BLACK correction; it didn't help.
Pre-solved color equations for a big speed increase.
Version 0.3
More comments, better error checking.
Switched back to 2x2 blocks, and tried Moire smoothing.
Version 0.4, just for testing
A breakthrough!  I finally figured out what the "mystery pixels" are.
Version 0.8
Devised a totally new interpolation algorithm, using a 3x3 block.
Run time is much longer, but image quality has vastly improved.
Version 0.85
Added user-adjustable brightness and gamma correction.
Changed "gamma" to "gamma_val" to avoid name conflict.
Changed the width and height to macros for more flexibility.
Cosmetic changes to match the new PowerShot A5 version
Converter for the Canon PowerShot A5
Fixed two bugs that Vlad pointed out.  What a difference!!
Replaced "90000" with a macro.
Replaced "60000" with a macro.
Merged PowerShot A5 code back into the trunk.
Saw major problems with the "tea can" image and made corrections:
- Magnitudes, not color values, are used to find the maximum.
- Color balance and row multipliers (ymul[]) have been adjusted.
Version 0.95
Added support for the PowerShot A50
If "ymul" is global, we can't modify it with each image
Adjust the color balance for whiter whites
Quick first draft of a pipelined CRW converter.  Doesn't
handle edges properly yet.  Quite a disappointment; I was
hoping to get a big speed increase from the L2 cache...