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.