Implementation of ThemeResolver that uses a theme attribute in the user's
session in case of a custom setting, with a fallback to the default theme.
This is most appropriate if the application needs user sessions anyway.
Custom controllers can override the user's theme by calling
setThemeName, e.g. responding to a theme change request.
public static final StringTHEME_SESSION_ATTRIBUTE_NAME
Name of the session attribute that holds the theme name.
Only used internally by this implementation.
Use RequestContext(Utils).getTheme()
to retrieve the current theme in controllers or views.