When a clientwin refuses focus, focus its parent

Specifically, this will make sure that when a clientwin refuses to take the
focus, we give the enclosing frame the focus. This makes sure not being able
to focus the clientwin doesn't interfere with the normal way tabs/frames work.

Intended to fix https://sourceforge.net/p/notion/bugs/60/ . Hopefully doesn't
reintroduce https://sourceforge.net/p/notion/bugs/53/ ...
Merge branch 'fixfocusbug'
Leave the focus alone when sharing a parent

.. depth is kind of arbitrary, this seems to be the sweet spot where it works
with my testcases (IntelliJ IDEA and oclock)...
Clientwin refusing focus passes it to tile parent

Treat the special case more like a special case, fixes a regression where
IntelliJ IDEA mini-windows popping up when completion options exceed the size
of the popup would get focused while they shouldn't.
Kludge IntelliJ IDEA splash popup to be transient
added debug-printing of the focus list
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.
build: all .o objects no longer depend on exports.h

The build system had an unconditional dependency declared:

 %.o: %.c $(EXPORTS_H)

The result of this was that when any .c file was changed, lua would regenerate
its exports, which would then trigger a rebuild of EVERYTHING. In truth, most
things don't really depend on exports.h.

This patch explicitly declares dependencies on exports.h. The dependency
generator generates these dependencies too, but the explicit declarations are
required for the initial build, when the generated dependencies aren't yet
available
build: simplified compilation rules for toplevel rules.mk

There were multiple %.o:%.c rules defined that more or less said the same thing.
This patch consolidates them. There's much similar boilerplate in other modules
(libtu/build/rules.mk for instance) that this patch doesn't touch. It would be a
good idea to consolidate all the logic.
added debug-printing of parents or managers of a region
build: mkexports rule is now a written as a multi-target-generating rule
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
build: dependencies are now ALWAYS generated. Also simpler implementation

Previously you didn't get header dependencies, unless you asked for them. Now
this information is always generated, and it's done together with the
compilation step. This is simple and robust. The only way a dependency
relationship is missed is the first time you add a #include. Rebuilding that
source file once adds the dependency
renamed unnotify functions for consistency

No functional changes in this patch.

The functions

  screen_nowindowinfo
  screen_unnotify

are now called

  screen_unnotify_infowin
  screen_unnotify_notifywin

This is consistent with the already-existing pair

  screen_update_infowin
  screen_update_notifywin
reduced boilerplate in get_notifywin/get_infowin

This is minor refactoring for consistency. No functional changes
Renamed do_get_notifywin -> do_get_popup_win

This indicates that this function is used for both notify and info windows
Added transient workspace indicator in corner

When a new workspace (or screen) is selected, an indicator can pop up stating
the name of this workspace. The indicator goes away after a predetermined
timeout. The duration of the indicator is set in the configuration file. By
default this indicator is disabled entirely
reduced region focuslist exports

There were 3 exports. One was unneeded, and the other two have now been combined
into one
Fix log invocations for focus behavior