added Floyd–Steinberg dithering