ok, unify failure and crash logging

Just as deferred and locked crash logging makes crashes easier to read,
so does deferred and locked failure logging make failures easier to read.

Change-Id: I71578d61b0056f8d7e692149762def1f155c0387
Reviewed-on: https://skia-review.googlesource.com/10280
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
diff --git a/tools/ok.h b/tools/ok.h
index 02bd939..345465b 100644
--- a/tools/ok.h
+++ b/tools/ok.h
@@ -20,6 +20,8 @@
     return std::unique_ptr<T>{new T{std::move(v)}};
 }
 
+void ok_log(const char*);
+
 struct Src {
     virtual ~Src() {}
     virtual std::string name()   = 0;