Adds a listener that ensures the internal preferences for the color
registry are updated when the color registry is updated via .put(). This
requires a few other code tweaks to ensure that there is no possibility
of infinite loops, since there is also a listener to update the registry
when the prefs are updated. Additionally,
WorkbenchThemeManager.updateThemes has to ensure that all colors in the
registry get properly refreshed, instead of only the ones with
ColorOverride definitions.
Change-Id: Ie6ca55af966aa74e17f536eed0d53dc810ebee6d
Signed-off-by: John Taylor <johnpaultaylorii@gmail.com>