PluginManager is the management entry for running plugins. It is responsible for:
- Initializing the plugin environment
- Listening for plugin lifecycle events
- Registering/listening for plugin buttons and config buttons
- Registering/listening for plugin events
- Getting basic plugin info (name, directory, device type, etc.)