Handle widgets with multiple capital letters

This change allows widgets to have names like AwesomeWidgetYes and it will be given awesome-widget-yes instead of awesome-widget_yes