Implement PNG Decoder

Does not support interlacing.