go/ssa: cleanup: make NewFunction a member of *Program.

(since it always needs this field)

LGTM=gri
R=gri
CC=golang-codereviews
https://golang.org/cl/106960045
diff --git a/go/pointer/gen.go b/go/pointer/gen.go
index 9d8e2c1..ee680f6 100644
--- a/go/pointer/gen.go
+++ b/go/pointer/gen.go
@@ -1102,9 +1102,7 @@
 // or a library.
 //
 func (a *analysis) genRootCalls() *cgnode {
-	r := ssa.NewFunction("<root>", new(types.Signature), "root of callgraph")
-	r.Prog = a.prog // hack.
-	r.String()      // (asserts that it doesn't crash)
+	r := a.prog.NewFunction("<root>", new(types.Signature), "root of callgraph")
 	root := a.makeCGNode(r, 0, nil)
 
 	// TODO(adonovan): make an ssa utility to construct an actual