Zlatan Ibrahimovic scored a late winner as Paris St-Germain moved 23 points clear at the top of Ligue 1 with a 1-0 victory at Toulouse.