Implement error diffusion dithering using Floyd-Steinberg filter