Fix required frame bug in APNGs
If frame |i|'s disposal method is kDisposeOverwritePrevious, frame
|i+1| does not necessarily share |i|'s required frame. If |i| is
independent (e.g. by filling the screen and being opaque or using
kBlendAtopBgcolor), |i+1| may still depend on |i-1|.
When looking for the required frame, skip over frames marked
kDisposeOverwritePrevious. This fixes a bug where frames are drawn on
top of transparent instead of the appropriate prior frame.
Add a LayoutTest that exercises the problem.