split plugin loader logic into Nephia::PluginLoader