Classical density functional theory: an ideal tool to study heterogeneous crystal nucleation