President Rodrigo Duterte has imposed martial law in Mindanao to eliminate the risk of "contamination" by ISIL.