- make Image::setCacheDir() protected since it is useless outside of Image::getInstanceByPath()