Use Ruma XMatrix type instead of rolling our own, use destination field
Both the hand-rolled parser and serialization were wrong in countless ways. The current Ruma parser is much better, and the Ruma serialization will be fixed by https://github.com/ruma/ruma/pull/1830.
Fixes #30 (closed)