Improved MVVM support

Added TabItemsTemplate and TabItemsSource on the ribbon control,
GroupsTemplate and groupsSource in RibbonTabItem, a few other related
fixes.
Why is this needed?