[actions/suspendsession] Decouple fade effect from trigger
To perform the fade effect we call trigger() with special arguments, which then doesn't actually suspend.
This is a rather complicated way to do things. Instead start the fade effect outside of triggerImpl, simplifying the triggerImpl code.
We then need to manually perform the policy check that trigger() previously did for us, otherwise we apply the fading while suspend is inhibited