Implement native matrix
This MR implements matrix support natively. It's still not complete, but complete enough to replace the current purple-matrix
A lot of features are still missing and/or broken (which will be implemented in several different MRs). E2EE is enabled. More work on E2EE has to be done though which shall be done later.
Please don't block on missing (or partially implemented) features, because I plan to work on them part by part (I created an MR sooner so that there won't be too much to review)
Spec links:
Edited by Mohammed Sadiq