Port to latest Rust vector and link args changes

There are two problems this pull request does not fix yet and those should be put as issues or pull requests. The first issue that is not fixed is the move away from linker arguments. The second issue  is that the warp_mouse function is unused and should be public (I'm not certain about this).