runtime: convert print.c to Go

LGTM=iant
R=golang-codereviews, iant
CC=dvyukov, golang-codereviews, khr, r
https://golang.org/cl/135930043
diff --git a/src/pkg/runtime/stubs.go b/src/pkg/runtime/stubs.go
index f69a041..26126fc 100644
--- a/src/pkg/runtime/stubs.go
+++ b/src/pkg/runtime/stubs.go
@@ -173,7 +173,6 @@
 func gosave(buf *gobuf)
 func open(name *byte, mode, perm int32) int32
 func read(fd int32, p unsafe.Pointer, n int32) int32
-func write(fd uintptr, p unsafe.Pointer, n int32) int32
 func close(fd int32) int32
 func mincore(addr unsafe.Pointer, n uintptr, dst *byte) int32
 func jmpdefer(fv *funcval, argp unsafe.Pointer)
@@ -206,6 +205,9 @@
 func purgecachedstats(c *mcache)
 
 //go:noescape
+func write(fd uintptr, p unsafe.Pointer, n int32) int32
+
+//go:noescape
 func cas(ptr *uint32, old, new uint32) bool
 
 //go:noescape