Use the notification system to bring attention to attention-seeking windows

This does the following:

When a window is marked urgent or demands attention, a "critical" notification is created, showing a thumbnail of the window behind its icon, the window title, and a short message, telling whether the window is urgent or demanding attention. Clicking the notification activates the alerting window, changing the active workspace if necessary. The notification is destroyed as soon as the alerting window receives focus, is closed or stops alerting.

I use critical notifications to make sure that a notification of this kind never ends up in the notification bin. I would like to use different levels of critical-ness to distinguish between urgent and attention-demanding windows and still keep all notifications out of the bin, but that doesn't seem to be possible.

All this behavior should probably be controlled by a huge number of detailed settings, but I leave that for others to decide.

I am aware of @mtwebster's pull request #1392 to handle this in the context of the window-list applet; I have even contributed to it. However, I've gradually come to the conclusion that that is not the right place for this, since the window-list applet is an optional component.

Update: I have removed the automatic activation of windows marked urgent, however gentle and optional it was going to be. It's not a central part of this pull request and I would hate to see it rejected for this reason only.