Southampton and Stoke played out an entertaining 2-2 draw in treacherous conditions at St Mary's Stadium.