veyron/tools/debug: Remove dependence on rt.R()/rt.Init().

I'm sending this tool as a proof of concept, if you're happy with this I'll
send many more.

Change-Id: I135449c2299e0f83981fc9dfa71ed87440ffc3f9
diff --git a/tools/debug/impl.go b/tools/debug/impl.go
index f15adf3..f201b5d 100644
--- a/tools/debug/impl.go
+++ b/tools/debug/impl.go
@@ -19,7 +19,6 @@
 	istats "veyron.io/veyron/veyron/services/mgmt/stats"
 	"veyron.io/veyron/veyron2/context"
 	"veyron.io/veyron/veyron2/naming"
-	"veyron.io/veyron/veyron2/rt"
 	"veyron.io/veyron/veyron2/services/mgmt/logreader"
 	logtypes "veyron.io/veyron/veyron2/services/mgmt/logreader/types"
 	"veyron.io/veyron/veyron2/services/mgmt/pprof"
@@ -88,7 +87,7 @@
 }
 
 func runVtrace(cmd *cmdline.Command, args []string) error {
-	ctx := rt.R().NewContext()
+	ctx := runtime.NewContext()
 	arglen := len(args)
 	if arglen == 0 {
 		return cmd.UsageErrorf("vtrace: incorrect number of arguments, got %d want >= 1", arglen)
@@ -155,7 +154,7 @@
 	}
 	results := make(chan naming.MountEntry)
 	errors := make(chan error)
-	doGlobs(rt.R().NewContext(), args, results, errors)
+	doGlobs(runtime.NewContext(), args, results, errors)
 	var lastErr error
 	for {
 		select {
@@ -194,7 +193,7 @@
 	defer wg.Done()
 	ctx, cancel := ctx.WithTimeout(time.Minute)
 	defer cancel()
-	c, err := rt.R().Namespace().Glob(ctx, pattern)
+	c, err := runtime.Namespace().Glob(ctx, pattern)
 	if err != nil {
 		errors <- fmt.Errorf("%s: %v", pattern, err)
 		return
@@ -221,7 +220,7 @@
 	}
 	name := args[0]
 	lf := logreader.LogFileClient(name)
-	stream, err := lf.ReadLog(rt.R().NewContext(), startPos, int32(numEntries), follow)
+	stream, err := lf.ReadLog(runtime.NewContext(), startPos, int32(numEntries), follow)
 	if err != nil {
 		return err
 	}
@@ -264,7 +263,7 @@
 	}
 	name := args[0]
 	lf := logreader.LogFileClient(name)
-	size, err := lf.Size(rt.R().NewContext())
+	size, err := lf.Size(runtime.NewContext())
 	if err != nil {
 		return err
 	}
@@ -288,7 +287,7 @@
 	if min, got := 1, len(args); got < min {
 		return cmd.UsageErrorf("read: incorrect number of arguments, got %d, want >=%d", got, min)
 	}
-	ctx := rt.R().NewContext()
+	ctx := runtime.NewContext()
 	globResults := make(chan naming.MountEntry)
 	errors := make(chan error)
 	doGlobs(ctx, args, globResults, errors)
@@ -349,7 +348,7 @@
 
 	results := make(chan string)
 	errors := make(chan error)
-	ctx := rt.R().NewContext()
+	ctx := runtime.NewContext()
 	var wg sync.WaitGroup
 	wg.Add(len(args))
 	for _, arg := range args {
@@ -484,7 +483,7 @@
 		return showPProfProfiles(cmd, name)
 	}
 	profile := args[1]
-	listener, err := client.StartProxy(rt.R(), name)
+	listener, err := client.StartProxy(runtime, name)
 	if err != nil {
 		return err
 	}
@@ -507,7 +506,7 @@
 }
 
 func showPProfProfiles(cmd *cmdline.Command, name string) error {
-	v, err := pprof.PProfClient(name).Profiles(rt.R().NewContext())
+	v, err := pprof.PProfClient(name).Profiles(runtime.NewContext())
 	if err != nil {
 		return err
 	}
@@ -544,7 +543,7 @@
 		return cmd.UsageErrorf("proxy: incorrect number of arguments, got %d, want %d", got, want)
 	}
 	name := args[0]
-	listener, err := client.StartProxy(rt.R(), name)
+	listener, err := client.StartProxy(runtime, name)
 	if err != nil {
 		return err
 	}
diff --git a/tools/debug/main.go b/tools/debug/main.go
index 9e5d556..66c4112 100644
--- a/tools/debug/main.go
+++ b/tools/debug/main.go
@@ -4,12 +4,20 @@
 package main
 
 import (
+	"veyron.io/veyron/veyron2"
 	"veyron.io/veyron/veyron2/rt"
 
 	_ "veyron.io/veyron/veyron/profiles"
 )
 
+var runtime veyron2.Runtime
+
 func main() {
-	defer rt.Init().Cleanup()
+	var err error
+	runtime, err = rt.New()
+	if err != nil {
+		panic(err)
+	}
+	defer runtime.Cleanup()
 	root().Main()
 }