Chrome browsers with nonstandard zoom report fractional devicePixelRatio.

Fractional pixel values cause drawing artifacts with text.
Tested on a retina display (rounds up to 2) and a standard
display (stays at 1).
Ensure that reset() can be called at any time

The originalFavicon variable is populated by getCurrentFavicon which was called only when setting a bubble, not when setting a custom image or resetting without setting the bubble.
This avoids setting the favicon href to an empty string in these 2 cases, thus trying to use the current page as favicon.
Updated the minified version
Fixed the removal of existing favicon tags

When the head contains many favicon tags (needed to support all variants
of modile and Windows 8 icons), the update of the live node list might be
fast enough to be done before the iteration is completed. This means that
some icons are not removed, which can break the resetting depending on the
browser. The list is now iterated backward so that updates don't change
the indexes of remaining elements.