Handle windows popping above the slimlock better.

Certain windows (especially notifications like notify-osd, etc) tend
to make their windows "override redirect". Such windows can't be
prevented from popping on top of slimlock. Previous approach of
handling this was to raise our window every second. This is definitely
better than nothing but potentially sensitive information is still
revealed for some time. And it didn't work at least for me anyway: for
some reason XRaiseWindow would not send Expose event. Probably it has
something to do with the fact that this XRaiseWindow is send from
another thread and Xlib is infamous for its multithreading support. So
the new approach is to handle VisibilityNotify events and raise the
window in case the event states that our window is partially or fully
obscured. This is still not perfect since popping window will be seen
as noticeable artifact. But it seems that x11 does not give a way to
handle it better.
Add a configurable way to raise slimlock window periodically.

This change supplements a previous attempt to handle popping windows
better. I realized that approach based on mere handling of visibility
events doesn't work when compositing is enabled. Thus it's still
needed to raise slimlock window from time to time. So I added
`raise_interval' configuration option which specifies how often the
window must be raised (default value is every 1000ms). It's possible
to disable raising completely by setting `raise_interval' to
zero. Everything is implemented in a single thread to avoid notorious
Xlib multi-threading issues.