Clashes have erupted between protesters and riot police after a massive anti-government rally in Serbia's capital, Belgrade.