Separate loop over chunks from reading IDAT.

Previously pnglite failed on files having non-IDAT chunks (e.g. tEXT) after IDAT sequence.
`png_read_idat` read next chunk header and left the file pointer after the header. This led to a failure processing next chunk.
Now `png_get_data` iterates over every chunk and `png_read_idat` gets to process a portion of png data.