Fix a math error in StillnessDetector::areNear()

The method used to determine the angular distance has been outright
wrong. Using a slightly more expensive, but accurate method instead.

Tightened up the test.

Test: atest --host libheadtracking-test:StillnessDetectorTest --rerun-until-failure 1000
Change-Id: I0f6b01340b6666b95ad032da8cd09ac1a33a8b41
diff --git a/media/libheadtracking/StillnessDetector-test.cpp b/media/libheadtracking/StillnessDetector-test.cpp
index a53ba8c..29b036e 100644
--- a/media/libheadtracking/StillnessDetector-test.cpp
+++ b/media/libheadtracking/StillnessDetector-test.cpp
@@ -84,8 +84,8 @@
 
     const Pose3f baseline(Vector3f{1, 2, 3}, Quaternionf::UnitRandom());
     const Pose3f withinThreshold =
-            baseline * Pose3f(Vector3f(0.3, -0.3, 0), rotateX(0.01) * rotateY(-0.01));
-    const Pose3f outsideThreshold = baseline * Pose3f(rotateZ(0.08));
+            baseline * Pose3f(Vector3f(0.3, -0.3, 0), rotateX(0.03) * rotateY(-0.03));
+    const Pose3f outsideThreshold = baseline * Pose3f(rotateZ(0.06));
     EXPECT_FALSE(detector.calculate(0));
     detector.setInput(0, baseline);
     EXPECT_FALSE(detector.calculate(0));