switching colors in PROGMEM stored icons

Animated GIFs do tend to be quite large in Arduino terms. Even one animated arrow or bullet point like you had during the Web's infancy on ham-handedly composed Geocities web pages twenty years ago could run you ten kilobytes.

It is only in recent times that animated GIFs have had a revival on the web, for displaying short live-action video sequences, now that we've got all that vast bandwidth compared to back then.

I guess you could read them from SDcard. But having seen how long it takes one single 128x128 image to load from SD, even as a .raw file, the Arduino would probably be out of its depth displaying quick GIF sequences of just a few milliseconds per frame.