pngsave interlaced makes a copy of the image

interlaced png is hard to write: you have to make seven passes over the
image to make the whole file. It advertises itself as sequential, it
needs to only ake a single pass. Therefore, it must take a copy in
memory of the image to write.
more careful p->t conversion

When we convert an image from "p" to "t" in vips_image_wio_input(), zap
start/gen/stop callbacks. This makes vips_region_prepare_to() read from
the "t" rather than trying to gen pixels again.
vipsthumbnail defaults to bicubic + noshapen

if bicubic is available
don't set shrink too low
better rounding behaviour for bicubic

fixed-point bicubic was not rounding to nearest, introducing some noise
in flat areas
small docs fixups
fix some compiler warnings

various false positives from gcc -O3 flow analysis
more docs stuff
add signed int bicubic path

better rounding for 8- and 16-bit signed int bicubic
more docs stuff
docs work