feat(plugin): new plugin system

Plugins are now separate processes connected via RPC and an event
connection using unix sockets.

Closes #12, Closes #9, Closes #6, Closes #5, Closes #3, Closes #2, Closes #1