Helpers for manipulating images
Rendering hints set up for the highest quality rendering
Resize an image of the given source type by the given ratios, properly handling GIF transparency, giving back the resized
image and the new image format type that should be used.
The image type might change if the input type is an indexed color model, because it is a hard problem to choose an optimized
palette, and currently we don't. This function will return "png" as the new type in this case.
If the input image is not using an indexed color model with transparency, then the target format and color model will be
identical to the source.