Rust upgrade

This includes a few patches I wrote, which I'll also submit upstream, and we can point Servo at upstream's version if it lands soon.