pub fn reduce<I: 'static>(
    img: &I,
    nwidth: u32,
    nheight: u32
) -> ImageBuffer<I::Pixel, Vec<<I::Pixel as Pixel>::Subpixel>> where
    I: GenericImage