Add signal and bytestream item kinds
gui: Unload module before GUI shutdown
gui: Add proper logging support
gui: Add configurable context menu support
config: Factor out update_configs! utility
Add built-in context menu

Can be activated with right-click or F12 on any running module.
Currently contains options to Shutdown, Restart, or Duplicate
(duplicates the node and all configurations, with a new UUID).
at-registry_item: Add optional datatype for outputs
Add per-module configs
Move KNOWN_NODES population to __init__
Switch to multiprocess architecture

Instead of loading modules all into one process, we now have a concept
of a "node", which is an isolated process associated with a single
module. Nodes are persisted across sessions, and may connect to each
other via "connections".

Connections associate registry items of one node with another. Items are
now either inputs or outputs exclusively, and connections thus connect
one output item to one input item.

Most information is now exchanged via DBus method calls and signals,
which now allows nodes to monitor each other's events (such as a node
starting, or a connection being established).

We've also given the node running the StatusModule special "Admin"
status, which it uses to perform certain cluster-wide actions.
StatusModule: Show list of registry items
StatusModule: Reorganize UI
registry: Fix delete_registry_item!
gui: Yield to background task
Remove DemoModule
gui: Unload modules on exit
modules: Reactivate root dir after module load