Fix orientation default value
Initial commit of the Floyd Steinberg dithering algorithm. Needs a lot of refactoring since it's a wholesale copy/paste job of the non-dithering algorithm.
Fix typo in error message
Fix longstanding bug where the wrong subrectangles of image were being chosen if the sample image didn't *exactly* conform to the size of the rows/columns. Instead of using a fixed column/row width and multiplying by row/column offset (which can cut off significant portions of the image), we instead use linear interpolation.