Process isolation
hap-server should support running plugins in separate processes. All plugin APIs will need to be proxied to the main process, and subprocess crashes should be handled and the process automatically restarted.
Initially this should be configured manually, then automatically configure Homebridge to run in a separate process by default (this would allow multiple Homebridge instances), then automatically configure each plugin to run in a separate process by default.
How would this work with server plugins? Maybe have a new plugin loading system so server plugins can always run in the main process and other APIs are used in separate process?