67df36f733
This improves parsing times in mobile Clients. On Android, this means a 5-10x faster parsing of timeline events. To do that I had to: - Make functions like `edit/redact/forward` take an identifier (EventId/TransactionId) instead of the actual event. This id will be used to look for the actual SDK timeline event in the timeline. This change will make these functions a bit less performant. - Make `InReplyToDetails` an object instead since a record can't recursively contain itself. - Turn `EventTimelineItem` into a record type. Do the same with `Message`, which is now `MessageContent`.