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 and crash. Now `png_get_data` iterates over every chunk and `png_read_idat` gets to process a portion of png data.