Quest Menu Changes

as per #97, a couple remaining quest menu changes

Features:
+ Added location and sub location image / description support
+ Added Completion Descriptions. This is a summary description that shows
up when you complete the quest (in aqua! oooooOOooo....). note that in
order to support this the description text box has been changed from 400px
height to 200px height.

Bug Fix:
- Quest List had some problems with the pointer and "completed" quests. This should now be fixed
- An edge case where a completed quest that had not been read yet was
  causing graphical inconsistencies. This is now fixed
Updated quest log content to reflect the latest possibilities.

For me, the quest log is now actually very complete!!
German translation update by NaN! :)
Fixed a invalid cursor position when equipping/using the last item in the inventory list.
Turned tabs to 4 spaces in the actors scripts and get rid of useless global variables.
Turned the ReloadSprite() function back to a c++ one.

Linked to #112:
As shirish reported having 'virtual function called' based segfault,
and as the bug happens within the function that reload the sprite,
I've suspected the map sprite reference badly taken has a map object
one, or something similar.

If it's not the case, at least this will be a cause less to see that
bug, or it will throw the error from within a c++ function, which
is more talkative with gdb.

A more general global variable hunt is also to be made also to
possibly get rid of that bug as well as the others.
Misc global lua var hunt 1

- Remove the useless map reference when saving a map in the editor
- Turned instance var to local (and this is faster btw)
- make the kalya_sprite be set to a new pointer instead of being init (if init at all on second map load?) to nil.
Got rid of superfluous global var related code.

Also moved the level cap into the new game call to permit other tests
to happen at any level.
Turned all the zones global variables into local ones.

It is faster and will avoid names collisions that might have led to
crashes.
Fixed a potential flaw in the portrait drawn at the beginning of the cave1-2 stone sign dialogue.

This shouldn't have led to crash but will look better anyway when playing using Kalya.
Misc fixes in the script engine.

- Made the thread pointers be removed at file closure, to let
lua handle them properly.
- Fixed a potential crash in a table data type lookup.
- Properly test whether a file is open before writing in it.
- Properly check the number types as it couldn't do it before,
and this could be useful for floats, for instance.
- Added the foundation permitting to get rid of the content
of a global table, thus making it safer to place new data in it.

I'll use that in the next commits.
Made the boot mode, the script supervisor, and the map mode
'clean' the lua global tables they're going to use before opening
their script.

This will permit to get rid of a lot of potential flaws linked
to the lua stack data handling...
Save mode improvements.

- The save mode now clean the save_game1 table before reopening a save game script
- It also disable slots where no data or invalid data is present at load time,
as requested by qubodup.
- When saving, it will warn whether a slot has got no data, or invalid data.
Added the missing options in the boot option menu.

Threshold, joystick input enabled and the joy quit button are now
configurable through the gui.

I also prettified the settings.lua file written in the user config space.
Got rid of the script modify class now useless.

I don't see the need to have a class that modify a script only at certain
places, so I prefer removing it as it was something hard to maintain
and to port.
Made the scripted events use plain lua objects instead of memory additive ones.

The correct object copy is already ensured by luabind anyway. And using plain
member (autovars) makes the lua memory being freed more easily.
Added the missing dialogue requested in the second part of the first cave.

Now Kalya will clearly show where the exit is if the monsters haven't been
all beaten.

I also reduced the time the stone sign image is shown.
Removed the last use of luabind::objects as newly allocated pointers.
POT + fr translation update.

Mistakes in english apart, I think we're good for a string freeze.