focuslist is now populated after a delay

The focus list is no longer immediately updated. This is nice because you can
now search for a window by quickly cycling through some windows without them
showing up near the top of the focus list. This allows the
go-to-previous-windows functions to keep working as the user intends. This
behavior is enabled with a config option: 'focuslist_insert_delay'. This is
turned off by default.

Before this patch, the currently-focused region was assumed to be the one at the
top of the focuslist. This is no longer true 100% of the time, so those two
things are now tracked separately
added debug-printing of the focus list
Disabled completion lockout in mod_query

This fixes a bug in query_lua where consecutive completions would never happen
if mod_query.autoshowcompl was enabled.

To trigger the bug, invoke binding that calls

 mod_query.query_lua()

Then type "ionco" and press TAB. mod_query then completes this to "ioncore.". At
this point the completion should happen again, and the various
methods/properties of ioncore should be displayed. This does not happen.
Pressing TAB again doesn't work either. One actually has to delete the "." and
re-type it.

This was happening because the second completion was being blocked. I THINK this
was trying to prevent a timer re-entrancy. However everything is synchronous, so
this couldn't happen anyway.
log.c: local functions are static
activity notifiers can now be displayed on ALL screens

Added new option "activity_notification_on_all_screens" that causes activity
notifiers to be displayed on ALL the screens, not just the screen that contains
the window producing the notification. This is only relevant on multi-head
setups. By default this is disabled.