title: Method ViroARScene.getCameraOrientationAsync() returns strange values in rotation array
body: <p>I'm developing a PoC with ViroReact lib but I'm getting strage values for the camera rotation.</p>
  <p>Environment:</p>
  <ul>
  <li>Device: Android 10. Xiaomi Mi 9</li>
  <li>ViroReact 2.20.2</li>
  </ul>
  <p>The <code>ViroARScene.getCameraOrientationAsync()</code> returns unexpected values in rotation array when I rotate the device over the y-axis, trying to keep the x and z axis fixed.</p>
  <p>Specifically, when the y-axis reaches the -90º the x/z values change to +/180º and from this point the y-axis values are getting close to 0, for instance, instead of -135º the y-axis value is -45 with the x/z values in +/-180. In other words the y-axis values NEVER return an absolute value over 90.</p>
  <p>Some examples (values have got an error margin of about 6 degrees):</p>
  <ul>
  <li>Rotation expected: <strong>[0, -90, 0]</strong>.  Returned rotation: <strong>[+/-180, -90, +/-180]</strong></li>
  <li>Rotation expected: <strong>[0, -135, 0]</strong>. Returned rotation: <strong>[+/-180, -45, +/-180]</strong></li>
  <li>Rotation expected: <strong>[0, -180, 0]</strong>. Returned rotation: <strong>[+/-180, 0, +/-180]</strong></li>
  </ul>
  <p>Questions:</p>
  <ul>
  <li>Why the absolute value of y-axis is never greater than 90 ?</li>
  <li>Why the x/z values change to +/-180º when I reach some point (+/-90º in y-axis) if I'm just rotating the device over the y-axis.</li>
  <li>Is this the expeted behavior ? If so, could anyone explain these values (please).</li>
  </ul>
  <p>The code to retrieve the values:</p>
  <pre class="lang-js prettyprint-override"><code>&lt;ViroARScene onTrackingUpdated={this._onInitialized} anchorDetectionTypes={&quot;PlanesVertical&quot;}&gt;
  ...
  &lt;/ViroARScene&gt;
  
  _onInitialized(state, reason) {
      if (state === ViroConstants.TRACKING_NORMAL &amp;&amp; reason === ViroConstants.TRACKING_REASON_NONE) {
        console.log('Tracking initiated');
        this._scene.getCameraOrientationAsync().then(
          (orientation) =&gt; {
            console.log('Cam rot:', round(orientation.rotation));
          });
      }
    }
  </code></pre>
  <p>I've also created a GitHub issue with some mockups to show the rotation values expected and returned: <a href="https://github.com/ViroCommunity/viro/issues/13" rel="nofollow noreferrer">https://github.com/ViroCommunity/viro/issues/13</a></p>