Witherspoon, Titans agree to three-year contract