Graph Neural Networks through the lens of Differential Geometry and Algebraic Topology