Currently all state is held in the front-end, when you refresh the page, you'll only see at most the latest message for each builder. This adds a back-end that will listen to the mqtt messages, and forwards stored messages to the client.
To keep the client simpler, the messages are parsed and forwarded as json objects.
Because the backend keeps everything in memory, a restart of the server would mean all state is lost, except for the retained messages from mqtt.
Reverse sort builders from new to old (but still keep arches in alphabetical order
Deduplicate messages when the backend restarts.