Fixes https://github.com/vector-im/riot-web/issues/14799
We were checking to see if the tags were visible at render time, but we needed to ensure that they were(n't) included when checking for diffs. This introduces a new kind of object cloning for semantic reasons.
This also fixes the selection indicator being a bit off on custom tags.
Previously we were firing updates for everything, which is bad. This has an effect of causing the room list to update itself every time the user goes to toggle some account settings.