Update GazeController to use gradient descent for IK calculations
This update overhauls the GazeController by replacing the previous implementation with a more robust and accurate computation using gradient descent for Inverse Kinematics (IK) calculations. The yaw, pitch, and camera node-based approach is replaced with a more generalized and flexible node set concept. Additional configuration options were added for IK computation, tunable through XML configuration files. These include max position error, maximum loops, and maximum gradient descent steps. References to the yaw, pitch, and camera nodes in the gaze controller were replaced with a new node set. These changes aim to improve the accuracy and flexibility of gaze control. Some non-functional changes include cleanup and refactoring for clarity.