Use --frontend_file for ninja instead of cat

Ninja now knows how to write directly to a file (or in our case, a named
pipe). This works around an issue we were seeing on Mac, where Go would
just hang after 50-2000 proto messages. It's also just a simpler
solution.

Bug: 111544015
Test: `m` with updated ninja on both Linux & Mac
Change-Id: Ic91920d83a6d2ea0b79e82b467e2423d78189f12
diff --git a/ui/build/ninja.go b/ui/build/ninja.go
index c48fe0f..91cb475 100644
--- a/ui/build/ninja.go
+++ b/ui/build/ninja.go
@@ -35,7 +35,7 @@
 	executable := config.PrebuiltBuildTool("ninja")
 	args := []string{
 		"-d", "keepdepfile",
-		fmt.Sprintf("--frontend=cat <&3 >%s", fifo),
+		"--frontend_file", fifo,
 	}
 
 	args = append(args, config.NinjaArgs()...)