Added PNG support (requires zlib and libpng)

I know I could've used SDL_image but this is supposed to be easily
portable to a bare-bones Raspberry Pi and SDL_image is big.
Also the source files have been renamed to .cpp so Visual Studio does
not complain.