Update last-observed on badge click instead of page load.

It seems that the background script is often run on first browser
interation after a period of inactivity. If the first activity is to
click the badge, the update event will often complete before
last-observed is updated (on page load). This causes the badge to simply
reset itself back to the previous value after being clicked. Updating
last-observed on badge click should fix this problem.
Added the 128x128 icon to the manifest.
Updated version