SendGraphChanges: batch node metadata changes

Node metadata includes positions on the graph. The UI emits changes on
these for each event receive on the canvas, resulting as many changes
in the logs of the SendGraphChanges component.

Given that each metadata object contains all the information we need,
we can batch these.
SendGraphChanges: listen to metadata changes on edges
runtime: add status() method in case status event were missed
add ListenGraphs component
add ListNetworks component
SendGraphChanges: monitor and send group changes
runtime: iframe: ensure 'disconnected' is emitted like websocket
runtime: microflo: ensure 'disconnected' is emitted like websocket
add ListenRuntime component

This component monitors the state of the runtime connection. It emits
the runtime on the connected or disconnected output ports.