Fixes the android-arm64-v8a and android-x86_64 lanes, both dying in
HostSys.cpp on shm_open/shm_unlink, which bionic does not provide
(Android has no /dev/shm). The mapping is effectively anonymous
anyway -- the POSIX path unlinks the name immediately after
creation -- so a memfd is a drop-in: created via syscall so it
builds and runs on every API level the NDK lanes target (every
Android kernel since 8.0 provides memfd_create), MFD_CLOEXEC
spelled as a literal to avoid a linux/memfd.h dependency on older
sysroots, sized with ftruncate64 and returned as the same fd-as-
pointer handle the other paths use; Destroy/Map/Unmap need no
changes since they already operate on plain fds and mmap. Desktop
paths untouched; static Makefile and CMake lanes both verified on
x86 (the TU compiles under both; the Android branch additionally
syntax-checked under -D__ANDROID__).