wrlib: add merged code for xpm support in 2 distinct functions

This patch is adding some merged code in
create_rimage_from_xpm and is_xpm_error fonctions.
wrlib: remove duplicate code from xpm support

This patch is removing the duplicate code by
using functions create_rimage_xpm and is_xpm_error
previously created.
wmaker: add support for more mouse buttons

This patch is adding support for back/forward mouse buttons
and the left/right wheel tilt buttons.
WPrefs: add new mouse buttons configuration support

This patch is updating the mouse button configuration panel
to be able to set action to the new mouse buttons supported.
wmaker: make disable mouse actions a live set

This patch is allowing to enable or disable the 'disable mouse actions'
from the WPrefs app without requiring to restart the session.
wmaker: implement EWMH _NET_WORKAREA

This patch is adding the _NET_WORKAREA property
which according to EWMH spec MUST be implemented.
Some application like rdesktop or nautilus are using
it, that's maybe why you encountered some errors like these:

** (nautilus:6457): WARNING **: Can not get _NET_WORKAREA
** (nautilus:6457): WARNING **: Can not determine workarea, guessing at layout

For now, the property is only updated when a workarea is created or destroyed.
Window Maker 0.95.6
wmaker: improve key shortcut labelling

This patch is improving the key shortcut labelling in the root menu.
It modifies the GetShortcutString function to save some cycles
as wXModifierFromKey is already doing all the string comparisons.
This patch introduces a new function called wXModifierToShortcutLabel
that is checking the return value from wXModifierFromKey.
Not sure why Control was set as a special key, as keyboards could
have 2 controls but also 2 shift keys.
WINGs: merge hashtable duplicate code

This patch is adding a new static function hashGetItem to factorize some code.
WINGs: merge bagtree duplicate code

This patch is adding a new static function treeDeleteNode to factorize some code.
wmaker: merge reading menu duplicate code

This patch is adding a readMenu function to be called from
readMenuPipe and readMenuFile, saving about 20 lines of code.

THIS PATCH WAS MODIFIED BY Rodolfo García Peñas (kix) because cannot be
applied in the awmaker git without changes. This patch is based in the
original patch created by David Maciejak <david.maciejak@gmail.com>
Catch-up and some improvements of the Dutch .po files

Recently added msgid's were translated, and some existing translations
improved. As development is done in git 'next', strings from wmaker-0.95.6
will be remained at the end of the files, so they are backward compatible.
Make two text strings translatable
wrlib: merge gradient duplicate code

This patch is adding a new static function named renderGradientWidth
to factorize some code.
wmaker: update NEWS for 0.95.6
WPrefs: set default to 1st color in gradient texture

This patch is updating the gradient texture user experience
by auto selecting the first color in the list when possible
and fixing the autoselection after a delete action.

In fact what that is called gradient colors is just a list of colors
with hue/saturation/brightness value.
That patch is loading the first one from the list (color, hue,
saturation, brightness) and setting the 3 sliders according to that
value instead of using some default hardcoded values.
The default color value on the top-right is never modified.
wmaker: fix focused window list order

This patch is fixing the focused next window list order.
As now, the switching was only working for 2 windows.
For example, taking 3 windows called A,B,C.
If the windows list is A,B,C where A is the current focused window.
Focusing on B will result on switching position A and B, thus C will
never be the next window.
For this example the patch is updating the linked list as B,C,A.
wmaker: add next and previous window focus functions

This patch is adding a wWindowFocusPrev() and wWindowFocusNext() functions.
And copying switchmenu.c focusWindow() as wWindowSingleFocus().
wmaker: use defined wWindowSingleFocus() function

This patch is cleaning focuswindow() local function to call
wWindowSingleFocus() global function.
wmaker: add new button and wheel mouse actions

This patch is adding atomic mouse actions to mouse buttons to:
-focus on previous or next window
-move to previous or next workspace

and adding wheel action to
-switch between windows

THIS PATCH WAS MODIFIED BY Rodolfo García Peñas (kix) because cannot be
applied in the awmaker git without changes. This patch is based in the
original patch created by David Maciejak <david.maciejak@gmail.com>