In this PR we port what we need of the now unmaintained deelevate crate, and update our dependencies, simplifying the dependency tree a bit and weeding out things we don't use or need.
This should see a slightly lighter build and end result binary and rationalise things a bit better. Our end goal with this is, as best as possible, to depend only on the windows-rs crates rather than the raw FFI bindings that are winapi, winreg etc that require all the abstraction to be done by the calling crate rather than being done internally as in windows-rs