True support for room versions 1-5
Currently it is not possible for Conduit to support room versions 1-5 due to ruma [not supporting non-canonical json for `ruma-signatures`](https://github.com/ruma/ruma/issues/877), which seems to indicate that they would be open to a contribution to adding support in the future.
Many rooms are on these old room versions, so adding support for them, despite them having major issues, is desirable.
Note: [according to tulir](https://matrix.to/#/!aFsxHSpFFtAuRqRviy:flipdot.org/$H-HE042OHWhxVygkoo7eGgnRcp-uIjzTiV5gQYxOfhE?via=ahouansou.cz&via=matrix.org&via=integrations.ems.host), for these old room versions, Synapse canonicalizes everything except for floats, so for `ruma-signatures` we need to be able to canonicalize everything while leaving floats untouched. We should also not enforce the maximum integer limit, as per [the spec](https://spec.matrix.org/v1.10/appendices/#canonical-json).
issue