Semantic widgets with radically flexible styling