Bugfix of custom icon code.
Bug was when a bookmark URL changed, the corresponding URL entry in the JSON didn't match as a key, so the old URL stayed in the JSON object and was never removed.  Fixed now though :)
I had to put the call to updateCustomIcon() early in the operation because function call ordering mattered if it was anywhere after this scope, and checking if new = old URL too late would always be equal.