Markesteijn demosaic uses floats

previously worked on data as 16-bit integers
should otherwise be functionally unchanged