Decimate or replicate on read and write.

This is a feature of GDALRasterIO. When the out and src arrays given
to read_band and write_band have a different shape than the raster
dataset itself, decimation or replication of pixels will occur.

Closes #3.