We move all of the event tile rendering into a factory manager for a couple reasons:
1. `EventTile` is uncomfortably large for a file
2. A simple map isn't possible anymore (can't convert the existing maps like `eventTileTypes` to `Record<string, typeof React.Component>` because the types are actually incompatible)
So, by having a factory manager place we can more easily render components without having to use `getComponent()` all over the place, and without lying to ourselves about how simple the event rendering path is.
This change also moves quite a bit of the rendering path into the new `EventTileFactory` file so it can be easily seen by future developers.
The typescript conversion of Unread.js in matrix-org/matrix-react-sdk#6241
fixed a 6-year-old typo and stopped messages with msgtype=m.notice from being
counted as unread messages. This makes it very difficult to use rooms dedicated
for bot notices (like RSS or GitHub webhook bots).
Signed-off-by: Tulir Asokan <tulir@maunium.net>