[gif] - add gif support via giflib

This is a split off from #5166

This removes the old animatedgif impl. I was not able to test if this introduces regressions in any way. I just don't know how to trigger that old animatedgif code to verify that it still works.

We use giflib5 for depends and windows - but the implementation also supports the giflib4 api.
But it's not a pointer one line down (and above in GifFrame).  Which seems odd - the struct forward shouldn't be enough for std::vector I would have thought, suggesting this is being included somewhere else regardless?

If so, that's OK, but we should make the include explicit.  Will try building on linux later today.