Evolution gimmicks support
This MR adds the following:
- Added species feature to keep track of critical hits in the last battle, required for Farfetch'd gimmick
- Added species feature to keep track of damage taken since last heal or faint, required for Galarian Yamask gimmick
- Added evolution requirements to accommodate for both of the above
- Added API event for after an evolution finishes
- Changed showdown gender ratio conversion now that our assets are corrected
- Moved Shedinja gimmick from the evolution implementation to an event listener, added config option for the gimmick to happen
- Added basic system to register global species features
- Added basic system to keep track of the last move in a battle so that additional context messages can trace back who caused them
- Added alternative variant ID for level up evolutions as they're essentially a passive trigger by themselves