Toulouse grind out bonus-point win