A patch proposal for enhancement 419098

(https://bugs.eclipse.org/bugs/show_bug.cgi?id=419098)

This patch introduces a ThemeIdProvider that can be customized to retrieve theme id to use. 
If a specific id is used by this provider instead the default one, the page needs to be refreshed to see new theme applied, but I guess it is acceptable in most of use cases.

To illustrate how it works, I have updated workbench demo in this patch by adding a sample ThemeIdProvider that store theme id in a SettingStore attribute, so a user can choose his theme, and different users can have different themes with same url.