Rejigger building to actually work. Userland can't be split off properly until we have elf loading because Rust can't handle two implementations of malloc in scope