Provide an access API to all accessories of the instance
### Current Situation

It has been brought up previously (e.g. [here](https://github.com/homebridge/homebridge/issues/2913)), I try to make the case again. 

The current plugin architecture and its constraints is tailored towards plugins that integrate third-party appliances with homebridge. That’s perfectly fine and the APIs work perfectly well for that use case.

There exists a class of plugins that are less well supported right now and for the lack of a better term I would describe them as *meta plugins*. Those plugins generally don’t publish new services but instead interact or reason about the current state of the homebridge instance. homebridge-config-ui-x is one of them, others are node-red-contrib-homebridge-automation, homebridge-aws-iot, homebridge-alexa. 

What these plugins all do is interact with all available accessories and because homebridge offers no native way to achieve that typically requires running homebridge with `--insecure` and use some HAP client to fetch the accessories. That’s quite complicated and a non-optimal security trade-off given that the homebrige instance running the plugin would have the desired information available.



### Proposed Change

It would be terrific for plugin authors to have an API available that allows retrieving all registered accessories. The available accessory API could be read-only per default so that the invariant that no plugin can tamper with another plugins’ accessories stays intact. There could further be some sort of concept around elevated permissions for plugins to indeed control the state of the accessories.

Something like this would be great:

```ts
interface API {
  on("accessoriesChanged", (accessories: Accessory[] => void)
}
```

Thanks for considering this and thank you very much for homekit.

### Additional Context

_No response_