Fox: Khalil Shakir, Bills agree to 4-year contract extension