Minor refactoring to isolate usage of the actual plugin interface.

The remaining scan code can be re-used for the client plugins.
Split the plugin manager in a generic and an interface-specific part.

The client doesn't actually use the UI interface yet, but that's one of
the next steps.
Actually use the error message provided by the proxy factory.
m_pluginPath is set in the subsequent code to something valid.

So this assignment here is kinda pointless.