Mexico’s Senate has voted to charge cruise ship passengers $42 per head for port calls, drawing sharp criticism from the tourism industry.