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.
I see, i tried to avoid changing the signature of CPlugin::SetErrorState and still be able to DropEverything only when the plugin is not going to resume.

I could live with that drawback of less info in sm plugins info.