Implementation of ThemeResolver that uses a cookie sent back to the user
in case of a custom setting, with a fallback to the default theme.
This is particularly useful for stateless applications without user sessions.
Custom controllers can thus override the user's theme by calling
setThemeName, e.g. responding to a certain theme change request.
Custom controllers can thus override the user's theme by calling
setThemeName, e.g. responding to a certain theme change request.