Pause dependent plugins on SetFailState (bug 6120)

When a plugin calls SetFailState it is paused and all natives it
registered are unavailable. Other plugins, which depend on those natives
keep running and error whenever they try to call those natives.

This correctly sets the dependent plugins to an error state and also calls OnLibraryRemoved correctly for all libraries as if the
plugin which called SetFailState was unloaded.

As a sideeffect OnPluginPauseChange is called again, when a plugin changes its pause state.