+/*
TODO - list of things to do for libpng:
Final bug fixes.
-Fix problem with C++ and EXTERN "C".
+Improve API by hiding the png_struct and png_info structs.
+Finish work on the no-floating-point version (including gamma compensation)
Better C++ wrapper/full C++ implementation?
-Keep up with public chunks.
-sPLT chunk handling.
+Fix problem with C++ and EXTERN "C".
cHRM transformation.
-Support for application-defined chunk handlers.
Improve setjmp/longjmp usage or remove it in favor of returning error codes.
-High-level API for reading images.
Add "grayscale->palette" transformation and "palette->grayscale" detection.
-Color to gray transformation.
-Improved dithering.
+Improved quantizing and dithering.
Multi-lingual error and warning message support.
Complete sRGB transformation (presently it simply uses gamma=0.45455).
Man pages for function calls.
Better documentation.
Better filter selection
(counting huffman bits/precompression? filter inertia? filter costs?).
-Optional palette (sPLT) creation.
Histogram creation.
Text conversion between different code pages (Latin-1 -> Mac and DOS).
-Improve API by hiding the info_ptr.
+Build gamma tables using fixed point (and do away with floating point entirely).
+Avoid building gamma tables whenever possible.
+Use greater precision when changing to linear gamma for compositing against
+ background and doing rgb-to-gray transformation.
+Investigate pre-incremented loop counters and other loop constructions.
+Add interpolated method of handling interlacing.
+Provide for conditional compilation of 16-bit support (except for the
+ initial stripping down to 8-bits when reading a 16-bit PNG datastream).
+Switch to the simpler zlib (zlib/libpng) license if legally possible.
+
+*/