switching colors in PROGMEM stored icons

You can store quite a bit in the Mega2560 Flash memory. Zero, Due or Teensy have more memory. ESP has separate Flash chip. A GIF "video" involves lots of frames. A GIF animated logo should not be too big.
Surely the LZW compression is dramatic on block colour graphics.

As soon as you have an SD, storage is "unlimited".

A RAW file from SD can be quite fast even on an AVR. The Arduino SPI class could be improved.
ARM and ESP have fast SPI bus with DMA. The result is impressive.

David.