Russian President Vladimir Putin has called for tighter gun controls after an attack at a school in the city of Kazan saw at least seven children and one teacher die, while 21 people are in hospital.