Ducks sign G John Gibson to three-year contract extension