* Add the timeline controller factory to the timeline view model.
In preparation for building a timeline to swipe through media in QuickLook.
* Refactor RoomTimelineControllerFactory.
* Refactor RoomTimelineController.
* Refactor RoomTimelineProvider.
- combine multiple services to handle app wide requests
- remove direct UIApplication access from everywhere
- fix#2703 by combining UIApplication.applicationState with the WindowManager's main window appearance
- leave the door open for more app control in the future (especiall for the mac)
* Extract room screen action handling into separate component
* Fix tracing configuration unit tests
* Move the custom reactionsCollapsedBinding to the TimelineReactionsView
* Move voice message playback handling from the timelineController to the room view model
* Reorder methods
* Remove the need for a media player provider in the timeline controller
* Move room attachments opening to the view model, remove the need for a media provider in the timeline controller
* Rename RoomScreenActionsHandler -> RoomScreenInteractionHandler
* Move message sending retry and cancellation to the timeline controller.
* Move audio playback, attachment loading and user tapping handling into the InteractionHandler
* Fix unit tests
* Switch back swiftlint file_length rule error to 1000 lines