Mexico elects Andres Manuel Lopez Obrador as president