auto detect file extension, png, jpeg, and jpg, and
return loaded image data with error.
error contains file not found, unsupported extension, ... etc.
get cached image by using image's file name.
if not found, load image data from file
and return loaded image with loading error.
error nil means loaded image found.