surface.set_at replaced by surfarray nanipulation (now requires NumPy library)