It can take some time to actually set the status message and see it play back as
a committed event. This adds a spinner for immediate feedback so it's clear
that something is happening.
Fixes https://github.com/vector-im/riot-web/issues/8135.
This updates the custom status context menu to match the latest comps. A single
button is used for setting / clearing, depending on what is appropriate.
The state logic is also changed to depend on events and storage from js-sdk for
the committed status message. This makes it easy to distinguish the value being
edited from what's currently committed.