Hypervisor 101 in Rust