Senegal claim semi-final spot with laboured Benin win