Drop all uses of //base except ObserverList from view mgr client lib

This removes all uses of //base from the view manager client C++ library
interface and implementation except for ObserverList. The tests still
use //base fairly extensively to set up message loops and whatnot.  Main
changes:

*) use int64_t + <stdint.h> instead of //base/basictypes.h + int64. This
is what //base/basictypes.h recommends doing anyway *) use lambdas to
construct callbacks instead of base::Bind. We were using
base::Unretained() anyway so bind's lifetime stuff didn't help us.  *)
Hand-expand the one use of DISALLOW_COPY_AND_ASSIGN *) Remove the one
used of scoped_ptr in the ViewManagerClientFactory variant used by the
window manager. This one is a bit unfortunate in that it needs a raw
pointer but we should be able to update it to std::unique_ptr<>
relatively soon and it's only used in two places (the window manager
common lib and one test).

The ObserverList dependency is a bit bigger.

R=sky@chromium.org

Review URL: https://codereview.chromium.org/911073005
diff --git a/mojo/services/view_manager/public/cpp/BUILD.gn b/mojo/services/view_manager/public/cpp/BUILD.gn
index b1a0bdb..72cb55e 100644
--- a/mojo/services/view_manager/public/cpp/BUILD.gn
+++ b/mojo/services/view_manager/public/cpp/BUILD.gn
@@ -45,6 +45,7 @@
     "mojo/public/c/gles2:headers",
     "mojo/public/cpp/application",
     "mojo/public/cpp/bindings:bindings",
+    "mojo/public/cpp/system",
     "mojo/public/interfaces/application",
   ]
 }