Userspace can now allocte via malloc. This is slightly janky because it relies on a single static handle in the library code.
Using syscalls.inc (moved to src/include) generate trampoline functions for directly calling syscalls with libc functions.
Moving libc from its separate repo into this one, minor resulting build fixes, and a hacky way to add -I for libc headers in builds.