Study on the binding of puerarin to bovine serum albumin by isothermal titration calorimetry and spectroscopic approaches