Allow multiple websocket client connections

Also keeps the markdown text in memory so if you refresh the page it will get the rendered text immediately.