Implemented rough cache in the GIF viewer, since GIFs mainly work by applying patches on top of the starting image. I run through the whole thing caching evenly spaced frames at the start, then use them as shortcut base when seeking to frames further in.