js: Use `more-updates` event to decouple reporter module.

This event was already around for infinite scroll purposes and should've
been used for messages received on the socket all along.
Add a framework for granular reporter permissions.
Always allow reporters to strike/delete their own updates.
Add support for media embeds within live updates.
Add max-widths to embeds for mobile friendliness
Use MutationObserver in embeds when available
Add .DS_Store to ignore.
Redo liveupdate styling.