Use a WeakEventManager to subscribe to the IVsfSettings.SettingsChanged event so that we don't have to care about the view in RainbowProvider. Hopefully, this ensures we don't leak, as the other event handlers are tied to the buffer for owns our primary reference
Avoid UriFormatException (Issue #90)