constructor(
        elements = new Float32Array([0, 0, 0, 1]),
        axisOrder = "XYZ"
    ) {
        this.type = "Quat";
        this.elements = elements;
        // rotation axis order
        this.axisOrder = axisOrder;
    }
Here we create a Quat class object
 This is a really basic Quaternion class used for rotation calculations
 Highly based on https://github.com/mrdoob/three.js/blob/dev/src/math/Quaternion.js

 params :
 @elements (Float32Array of length 4): our quaternion array. Default to identity quaternion.

 returns :
 @this: our Quat class object
*