Streamer rework
A rework of Pleroma.Web.Streamer
parts to use an Elixir Registry.
- eliminate a possible memory leak on the workers (because they are none now).
- Each websocket handler now handles their keepalive
""
message, and won't send one if they sent a message recently. - Websocket handlers will now hibernate every 100 messages and at each keepalive; balancing CPU/latency of a GC vs. memory usage with now useless binary refcs
- Enabled cowboy own timeout logic as well as the keepalives
- Websocket handlers/registered sockets are now responsible of applying blocks/... and rendering their own user-customized views
- The views that were rendered with the same params for each message will now just render them once before sending json
- Reordered stream calls in ActivityPub to perform after notes counts increments/... are made