Walmart apologizes for gun display