WINTERMUTE: Add workaround flags and use a workaround flag to fix #6647

Behaviour of BaseSprite::reset() changed in WME 1.8.6.
5MA and possibly other games ship with pre-1.8.6 WME, and depend on the old behaviour.

We then set up WME-specific workaround flags and use one of them to mark a game as depending on the old behaviour.

I had a lot of guidance from @fuzzie on this - but don't blame the poor lady if it's still ugly, the ugly parts are all mine.

If you prefer a less invasive (but imho rather ugly) solution there's my branch fix_cat_hackish: 
https://github.com/tobiatesan/scummvm/compare/fix_cat_hackish

It simply if()s to look at the game name.


Tell me I'm mad, but isn't #1 just what we are already doing, only with a bigger "address space"?
And couldn't that amount to extending ADGameDescription with a custom class?
(Which is in turn is what I was saying earlier?)
Not like "ha-ha, I told you", I'm genuinely asking if we are talking of the same thing or two different things and, if so, how :) 

Honestly "adding a emulated version system" doesn't sound like a terribly good idea to me 

1. in case we e.g. need to work around that bug in The Kite scripts that is there in the original version

2. In case we need to work around a single bug in the /interpreter/ that shipped with a game but we don't want to change everything else that got changed in later releases.

Then again, I'm paranoid, don't pay much attention to me.

Either way, I'm partial to having flags for now and worrying later, say when we get to 8 different flags, not counting 0. 

I think that implementing one of the three you proposed then will be reasonably easy, and the implementation will be informed  by the hassles encountered in the meanwhile. 

Just my 2 cents.