Fábio Silva scored a stoppage-time equaliser as Dortmund clawed their way back from a two-goal deficit to snatch a point in Leipzig.