Indian Prime Minister Narendra Modi has opened a Hindu temple in the northern town of Ayodhya. The temple has been built on the site of a 16th century mosque, which was destroyed by a Hindu mob in 1992.