It appears we've been had! The PNG module isn't capable of even half of what the documentation says. I'll fix the documentation... If anyone is looking for a fairly contained and straight forward hack-project, implementing the rest of the PNG support is the answer. You can even tackle one chunk at a time.
I'd really like to see the possibility to apply the compression filters.