I think, perhaps, an investigation of the origin of such terms as "cracker" and "nigger" is in order. "Nigger" is simply a derivation of the term "negro," meaning black. "Cracker", if I recall correctly, is related to the fact that, several hundred years ago, white people used to crack their black slaves with whips. One who makes something crack, is, therefore, a cracker. So "cracker" directly refers to a white man's slave-owning history, while "nigger" refers to skin color. (There are several other etymological explanations for "cracker," none of which are particularly endearing). Of course, there exists several hundred years of use where "nigger" has attained serious negative connotations, and it is justifiably seen as a vile, derogatory word. But I fail to see how "cracker," with the direct implication that the one who is called such is a slave-owner or -trader, is not seen a being nearly as negative a term.
Just my two cents.