Programs as Diagrams: From Categorical Computability to Computable Categories (Theory and Applications of Computability)