Move handling of replacements into the MessageView types
Move handling of replacements into the MessageView types - MessageCard and PhotoCard - instead of in the timeline views.
Now the MessageView Views are smart enough to check for message.replacement
when rendering content, and to use the original message for everything else. This simplifies handling of replies and reactions etc and closes #161 (closed).
Note that this relies on matrix.swift!57 (merged) to re-publish changes from the replacement message on the original message. This makes it safe for the MessageView Views to observe only the original message, without the risk that they will miss updates from the replacement message, e.g. when the replacement message's thumbnail finishes loading.
Edited by Charles Wright