At least 22 people have been killed after a suicide bomber opened fire at a church in Syria – and then detonated an explosive vest.