make trigger evaluation more robust against scripting errors

When an unfinished OR block was encountered in a condition the
trigger would always evaluate to true. Instead, use the subresult
we got until that point.

This fixes a bug with Viconia in AR1000 in BG2. The vicg1 script
used by the fanatics has a buggy OR block that claims to have 4
conditions but actually only contains 2. Since it would always
evaluate to true, the fanatics escaped the area immediately which
meant that Viconia was never burnt, and if you cut her down from
the stake you'd enter an endlessly repeating dialog
don't break on cutscenes when resting outside, either
fix some animation cycles for IE_ANI_CODE_MIRROR_3

Fixes phases of invisibility for MIGO, MKUL, and MSPS.
LevelUp: also reset the skills top index global var

Otherwise we may break if the scrollbar's been moved and the next
character can select from more more skills than the previous.