Port to the latest Rust

There were three changes.
- First, the linker argument feature was enabled
- Second, vector functions were moved to methods
- Third, the result of from_utf8 needed to be copied

I didn't move to library names yet but I made an issue for it.