Prevented circular include in sprite definitions

When including a file that already is included the client won't try to load it
again and end in an endless loop but stops parsing and logs and warning.

Reviewed-by: bjorn.
Mac: Change to local SDL inclues.
Made the client capable of displaying gender of monsters and npcs

Reviewed-by: o11c, bjorn, Bertram.
Made announcements spreading over all whispers and channels

Resolves: Mana-mantis #430.

Reviewed-by: Bertram.
Fixed minimap showing the right colors for npcs and monsters

Actually Bertram explained the fix in the bugtracker and I only did what he said
there.

Resolves: Mana-mantis #444.

Reviewed-by: Bertram.
Changed German translation of Dexterity to Geschicklichkeit since Ausdauer was misleading

Resolves: Mana-manits #422.

Reviewed-by: seeseekey.
Made the first choice item be selected at the beginning

Resolves Mana-Mantis: #432.

Reviewed-by: Bertram, Ablu.
Made the chat text much more readable in every opacity case.

I added text shadow and outline support to the browserbox,
and made it adapt the text for the chattabs depending on the
GUI opacity.

Reviewed-by: Ablu.
Hopefully fixed the crash related to player relations.

I removed all the misuse of std::map::operator[]
I could find, especially there:
if (!(*container)[name])
where the [] was creating the entry while checking
for its existence.

This should avoid the memory corruption problem
seen in the Mana-Mantis #400.

Patch tested in game by: Ablu.
Resolves: Mana Mantis #400

Reviewed-by: Ablu.
Changed INT and DELETE enum names to fix C::B compilation.

This was introduced since Crush updated his mana lib pack.

I simply changed the names to avoid a collision.

Reviewed-by: Ablu.
Spotted some more hard-coded files and paths definitions.

Conflicts:

	src/actorsprite.cpp
Fix wrong logic in the enable joystick setup option.

I also renamed the badly named members to clarify it all.

Part of Mana-Mantis #420.

Reviewed-by: Ablu.
Fixed the setup overall width to fix the tab behaviour with
default locale.

Spotted by Ali-G.

Reviewed-by: Ablu.
Gave a bit more space to the equip/unequip button.

The correct solution will be to make the buttons aware
of each others and it seems the placer can't do that atm.

But let's add that after the release.
Added a close button to the npc dialog window.

The close button will only display when the window is waiting
for the server, so that crashed windows can be closed without
restarting the client.
Pushing the QUIT key (Escape by default) will also close
the crashed windows in that case.

I also fixed a memleak with the "next" button.

Resolves: Mana-Mantis #72, 93, 389.

Reviewed-by: Ablu.
Made the client able to remove the port from update urls.

Resolves: Mana-Mantis #381.

Reviewed-by: Ablu.
Hopefully fixed the butterfly direction updates.

In fact, the bug was nastier and could also concern
many other beings, such as squirels, and some players.

The bug came from the distance odd check I added a while ago.
This (ugly) hack wasn't needed anymore since I made beings
finish their path before starting the new one also a while ago.

This also fixes some movement glitches I've seen in manaserv
at login time (Hurray).

Thanks for Ali-G for spotting this one.

Reviewed-by: Ablu
player_node -> local_player

Reviewed-by: Ablu
Made addition of custom servers be done in a separate window.

Now the first window the user can see is a list of servers
which can double-clicked, making it all less cluttered.

This commit also makes custom servers able to now have
their own titles and their own description,
just as the official ones.

I also fixed the add entry button being registered twice
to the action listener, and the fact that the description
wasn't updated properly at windows loading
and when adding/removing an entry.

Resolves: Mana-Mantis #237.

Reviewed-by: Ablu
Added a modify button to the server dialog.

This was righteously requested by Ablu as missing
when dealing with one's own entries.

Reviewed-by: Ablu