pub fn smooth(gray: &[u8], width: usize, height: usize, out: &mut [u8])
3×3 binomial blur; the one-pixel border is copied unchanged.