A colourful fusion of culture, cuisine and effortless coolness, South Africa’s oldest city is well worth the trip