The simplified libpng declarations in DarkPlaces just use "void **" for
various pointer-to-pointer arguments. However, this conflicts with the system
libpng headers (if used), which expect something like "png_struct **" (which
is not considered to be a compatible type by ISO C), causing compiler
warnings. This patch reduces the simplification a bit by distinguishing
between the various pointers-to-struct enough that system libpng headers
do not provoke warnings.
Similarly, assigning a function pointer provokes warnings if the arguments'
types are not exactly as expected. Avoiding those warnings potentially makes
genuine bugs easier to spot, so it seems worth being a bit more precise.