Transmute std::raw::TraitObject rather than (some) custom tuples/structs.

Context:
http://www.mail-archive.com/dev-servo@lists.mozilla.org/msg00867.html

This fixes the known issues, but there might be other places
where we do "bad" transmutes that I haven’t discovered.
Merge pull request #3170 from SimonSapin/trait-object-transmute

Transmute std::raw::TraitObject rather than (some) custom tuples/structs