Added ImageCache so we don't have to constantly redownload images every
time the program needs to display them. Instead, it will first see if
the value is in the cache before reading the image.