At least 26 people have been killed after a gunman opened fire with an assault rifle at a church in Texas.