More flexible invites

* Does not discount the possibility that an invite message also has a `<body/>` that we should display normally
* Optimises element searches
* Supports invites to password protected rooms
* Supports invites as a continuation of 1-on-1 threads
* Supports XEP-0249 direct invitations, as well as mediated invites from XEP-0045

/cc @bklang @melissanoelle