It's not "a gay". A person can be gay. but not "a gay". I person is a homosexual.
You wouldn't refer to a heterosexual as "a strait" would you?