The HR-Calculus: Enabling Information Processing with Quaternion Algebra