Charlie Sheen apologizes for gay slur