build-sys: use automake subdir-object
build-sys: remove unnecessary files
docs: update Doxyfile

Just a simple 'doxygen -u' version update.
build-sys: include config.h to all files using automake

Do not try to be too smart which compilations need config.h, as most of
them will simply because of the config.h has information about system
capabilities.
build-sys: use AC_USE_SYSTEM_EXTENSIONS

The earlier _GNU_SOURCE definitions possibly did not take effect
everywhere where it was intended.
build-sys: move autotools files to subdirectories
build-sys: use pkg-config to locate dependencies

This commit alters XRANDR (X Resize And Rotate) extension dependency,
which is expected to have at least version 1.4.  Earlier old versions of
xrandr were supported, at least to some extent.
build-sys: add test programs to .gitinore file
build-sys: unify configure.ac syntax
build-sys: use iconv library detections from gettext

This patch took copy of config.rpath from gettext 0.18.2 to build-aux/
directory.  Software projects usually does not need to do that, because
the file is copied by gettext autopoint in autogen.sh or bootstrap.

In Fluxbox case calling autopoint seems wrong, as it would generate po/
directory with necessary make automation, adn 'msgid' & 'msgstr' files,
but that is not how the translations are done in this project.
build-sys: move to non-recursive build

This rather large change will attempts to make 'make' to work better.
See excellent paper 'Recursive Make Considered Harmful' by Peter Miller
for further explanation why several make files is worse than one for
whole project.

Note.  The tests are build with 'make check' rather than defining TEST.

Reference: http://miller.emu.id.au/pmiller/books/rmch/
Reference: http://karelzak.blogspot.co.uk/2013/02/non-recursive-automake.html
Speedup overlong text detection

Detecting very long window titles is done via FbTk::TextUtils::doAlignment().
Instead of removing one char from the title at a time to see if it fits into a
given 'max_width', we now use a binary-search like approach to get faster to
the right value. This massively improves the speed for windows with
(arbitrary) long window titles (see bug #1090, javascript

    document.title = new Array(4999).join(".");

leads to massive waiting for fluxbox to detect that this window has a very
long title).

In addition to that Xft returns 'wrapped' shorts ('integer overflows') for
long texts: XGlpyhInfo.xOff is declared as signed short, it's able to hold
~32k pixels. A monospace font with font-size 10 produces an integer
overflow after 3276 chars / glyphs, thus rendering the check

    if (text_width < max_width) { /* ... */ }

pointless and leading rendering the whole title. By calculating some kind of
upper limit for a pseudo-wide glyph ("WW") and strictly cutting off the input
string at that limit prevents this issue.
Returning EXIT_FAILURE on exit in fluxbox-remote.
cosmetics
fix detection of $HOME folder

usually $HOME is set when fluxbox runs. in some rare scenarios (eg., fuzzying
binaries to detect bugs) one could launch fluxbox by using 'env -i' and thus
eliminating $HOME from the environment. to prevent crashes fluxbox uses now
'getpwuid()' when $HOME is not set to detect the home folder.
Constify the type passed to std::equal_to.

std::bind2nd() has problems with the existing call because it uses the
argument type passed to std::equal_to() in std::binder2nd()'s constructor,
but WinClient* does not have the const specifier that `client' does.

The call works fine with libstdc++ because of the way it implements
std::bind2nd(), but fails with libc++ and possibly with other STL
implementations as well.
Updated Japanese Translation
update hebrew translation
Fix lost keypresses after workspace change (#1067)

Do not Ungrab the keyboard for a KeyPress event, this causes us to lose the
KeyRelease event which is needed to ungrab the keyboard after the event
happened.
Add support for stacked tiling via ArrangeWindows*