[canvaskit] Add catchException everywhere

This should make the logs in the bots more actionable by showing
the error and trace.

This also fixes the API change causing mysterious red.

Bug: skia:
Change-Id: I38df2bb4557041f8bdfefcae5c8d95b58e770033
Reviewed-on: https://skia-review.googlesource.com/c/168180
Reviewed-by: Kevin Lubick <kjlubick@google.com>
diff --git a/modules/pathkit/tests/util.spec.js b/modules/pathkit/tests/util.spec.js
index 2161769..92981b3 100644
--- a/modules/pathkit/tests/util.spec.js
+++ b/modules/pathkit/tests/util.spec.js
@@ -17,7 +17,7 @@
     });
 
     it('computes YFromX correctly', function(done) {
-        LoadPathKit.then(() => {
+        LoadPathKit.then(catchException(done, () => {
             // Spot check a few points
             const testcases = [
                 // input x, expected y
@@ -30,10 +30,10 @@
                 expect(PathKit.cubicYFromX(0, 0.5, 1.0, 0, tc[0])).toBeCloseTo(tc[1], 5);
             }
             done();
-        });
+        }));
     });
     it('computes a point from T correctly', function(done) {
-        LoadPathKit.then(() => {
+        LoadPathKit.then(catchException(done, () => {
             // Spot check a few points
             const testcases = [
                 // input t, expected x, expected y
@@ -50,18 +50,18 @@
                 expect(ans[1]).toBeCloseTo(tc[1][1]);
             }
             done();
-        });
+        }));
     });
 
     it('does not leak, with or without cache', function(done) {
-        LoadPathKit.then(() => {
+        LoadPathKit.then(catchException(done, () => {
             // Run it a lot to make sure we don't leak.
             for (let i = 0; i < 300000; i++) {
                 PathKit.cubicYFromX(0.1, 0.5, 0.5, 0.1, 0.1);
                 PathKit.cubicPtFromT(0.1, 0.5, 0.5, 0.1, 0.1);
             }
             done();
-        });
+        }));
     });
 
 });
\ No newline at end of file