Fix: ImageCache could cache a photo with bad res.

If the ImageCache cached a photo before the PageManager had a chance to
update the screen resolution value, the photo would be cached with a
tiny resolution. Changed so that the screen resolution update is the
first thing the PageManager does.
Merge branch 'master' of github.com:cryporchild/tsheese

Conflicts:
	src/project_defines.py
Thread: Add a reminder for a bug fix.
Fix: Workaround for logging basicConfig.

Something is logging before we get a chance to set basicConfig
(multiprocessing?), so this workaround clears the root logger so that we
can set basicConfig.
PhotoManager: Log whenever the cache runs dry.
Thread: Track process threads for use during exit.

The process threads are tracked in a WeakValueDictionary, and any
remaining ones are joined before shutting down the program.
Widgets: Add bug reminder.
Thread: Remove fixed reminder.
Tidy: Use dict.itervalues() when keys not needed.

Use dict.itervalues() instead of the 'iter' builtin function for when
only the values are wanted.