use nested timers to mimic sleep()

thread.processNextEvent() is prohibited in Firefox (though used in
mozmill/util.js). Nested timers are a bit twisted and ugly. Need to check
|yield| and generators: http://unixpapa.com/js/sleep.html, dactyl/base.jsm
(K. Maglione)
use |yield| in addition to nested timers for ChatStatusIcon fading

http://syzygy.st/javascript-coroutines/ is worth mentioning
Merge branch 'startup' into v0.4.6rc2
* add chat_icon_blink, chat_icon_blink_style options
* fix MailChatPrefListener unregistering
* use GDK_INTERP_BILINEAR for gdk_pixbuf_composite
Merge branch 'cross-fade' into v0.4.6rc2

Conflicts:
	src/modules/FiretrayChat.jsm
	src/modules/linux/FiretrayChatStatusIcon.jsm
* fix merge: ChatStatusIcon.stopCrossFading() was defined twice
* fix: ChatStatusIcon.dropPixBuf() at right time
* cleaning
attempt to address the the compatibility warning "Some JS modules were moved
from resource:/// and resource://gre/ to resource://app/"

https://blog.mozilla.org/addons/2013/04/26/compatibility-for-firefox-21/
fix ChatStatusIcon blinking
fix: add long-living references to timers for ChatStatusIcon blinking
cleaning
* handle chat_icon_blink and chat_icon_enable prefs properly
* better use of ChatStatusIcon timers
set urgency hint on all windows for new messages
use 'focus-in' event for unsetting urgency hint

Unsetting urgency hint can't be base on MapNotify when working on a single
desktop.
Merge branch 'fade'

Conflicts:
	src/modules/linux/FiretrayChatStatusIcon.jsm
Merge branch 'urgency'

Conflicts:
	src/modules/FiretrayChat.jsm
	src/modules/linux/FiretrayChatStatusIcon.jsm