Added new RNG which uses SFMT.
Move RNG exponent definition to main CMakeLists.
Replaced rand() calls with new RNG in gemrb core.
Fixed upper bound in RNG default value.
Added additional bound checks to RNG.
Replaced exception by error() in RNG.
Use previous behaviour of time assignment again.
split LastTarget into attack and spell target (LastSpellTarget) for iwd2

currently setting either clears the other, so melee does not override casting
immediately
Actor::CheckCastingInterrupt: use LastSpellTarget here too

was introduced after the original work in august
UpdateContainerWindow: scroll in multiples of the number of columns

yeah it's different in iwd2 and not only made the scrolling awkward (3 vs 5),
but for certain large piles, you couldn't see the whole item list without
picking several of them up first (ice temple battlesquare insta-win mod)
found out the difference between spell disruption checks and concentration

renamed the disruption function and fixed the comments accordingly
fixing concentration remains a TODO
CheckSpellDisruption: only consider the cc bonus when the feat is there
CheckSpellDisruption: use GetSkill, so also the stat bonus is applied
partly reverted old 3f9adcb4: don't mix disruption and concentration

once we're in that branch, we already know the checks failed, so
don't give them another chance with a different calculation
implemented proper concentration checks
iwd2 barbarians aren't immune to sneak attacks

even with uncanny dodge at level 5, a high level rogue can succeed
iwd2: store sneak attack dice in the old runtime backstab field
iwd2: updated backstab/sneak attack string references
implemented basic 3ed sneak attack
iwd2: fixed arterial strike and hamstring not affecting sneak attack dice