Functorial Knot Theory:Categories of Tangles, Coherence, Categorical Deformations and Topological Invariants