Rustup

This will likely fail travis as it's still pending on a fix in rust-sdl2 but you can use a local override in the meantime.

There's a lot of additional cloning on some of the string additions due to a bug in the stdlib at the moment, e.g. `"foo" + "bar".to_string()` = `"barfoo"`.
Why didn't I have semicolons here in the first place?....