IHDR must be first so don't read it inside the loop
Add IDAT combined chunk
add idat chunk initialisation
refactor idat init method
build out combined IDAT object with fields
remove wrongly interpreted spec
build idat chunks from consecutive chunks
add inflation method