Fix Scaling, Optional Caching of Images

Fixed problem when scaling images from HD to SD, we consider all images
are sent as HD the resampling should be done by the module. The problem
happened when the image was smaller than the maximum width to print.

Added a cache option to the Printer.pm, that allows the user to supply
a dir where the image after resampling and convertion to the ESCPOS
format can be saved and reused saving some CPU cycles this can be
usefull on embedded systems.