At least 21 people have been killed in Mozambique and scores injured in protests in which demonstrators have burned tyres, blocked roads and marched to Frelimo offices.