Spillover Diffusion, Agglomeration and Distance. A Spatial Extension of the Knowledge Production Function Approach