The first of Mexico's presidential debates has opened with fire, with front-runner Andres Manuel Lopez Obrador defending the idea of an amnesty to fight drug violence and reviving his famous campaign slogan from 2006, "For the good of all, the poor come first."