fn selfExePathAlloc(allocator: Allocator) ![]u8
selfExePath except allocates the result on the heap. Caller owns returned memory.
selfExePath
allocator: Allocator,