Restore WindowPlugin
PluginLoader: use a macro for convenience
Add OsxPlugin