Added a simple bilinear resample kernel to shrink down images, I think it behaves correctly from comparing with some fiddling in Gimp