Implement effective DPS

I believe this is stable enough to merge in, but I'm storing it here in case I run into a problem before release, otherwise merge into main.

This introduces effective DPS: DPS which is reduced depending on target resists. I basically started by copying all logic associated with damage profiles and tweaking them into what we have now. 

* Changed slightly how DPS is calculated (obviously) to incorporate resists.
* Fit's will always have `None` set as their `targetResist` attribute unless they actually have one. This is different to how damage profiles work (a fit *always* has one set, default being "Uniform").
* Includes drones
* Made many improvements to Damage Profile GUI and now use EFT's import/export format
* Target resist and now damage profile selector use a new feature that allows for profile grouping into submenus.