Added support to reading / writing to floating point formats.
Error diffuse when converting to lower precision packed formats.
Dissable error diffusion by default,
added copyrect2 function with configurable error diffusion kernel size.
Allow error diffusion to be applied to only an area of an image. ( dont diffuse over
texture atlas boundaries )