[components] refactor main template header: make it much more flexible by using CtxComponent
* rename userlink class (not private) with somewhat bw compat
* make some cosmetic adjustements on log-in/registration components
* update to component api, though this may breaks some sub-classes
(for application customizing the breadcrumbs component for instance)