Gyro: Add GetRate() function.
PIDController: Add CalculateCallback() function.

This function is called each time Calculate() is run with the PID
enabled.  It is provided the input, setpoint, result, and error
(as calculated by Calculate()).  User code can override this method
in a derived class to obtain this information synchronously without
needing to reimplement PIDController.  Conceivably this could be
used for logging or timing purposes.