Backport: Implement `Lift` for flat errors
We noticed a regression in `0.25.x` where dictionaries containing flat
errors caused code not to be compiled. We never officially supported
compound types that stored errors, but it seems better to allow the code
to compile in this case.
The reason this isn't supported is that we can't lift flat errors, so
therefore we can't lift the dictionary. A better fix for this would be
to not implement `Lift` on the dictionary in this case, which would
cause a compile error rather than a runtime panic. However, that's
actually not so simple as noted in the comment so I went for an easier
way.
This brings this very close to how they worked in `0.24.x` where we
would generate an `FfiConverter` implementation for flat errors, but the
lift half of it would just be panics.