Implement stream-based PNG reading; add class ArrayStream