Level Editor -> Map Editor

Conflicts:

	src/editor/editor.cpp
	src/editor/editor_main.cpp
Factored a bit the FileNew and FileOpen code.
Forgot to follow the app short name for linux settings location.
Made the game remember the last save slot used.

This will prevent players from overwritting the slot 1 when playing on
another slot.
Made possible to remove a character without erasing its data.

This commit is the first part of two, made like this for readabillity
reasons.
Made possible to activate/deactivate a character, making it unavailable
to the party without removing its data.
Add support for formation switching.
Add support for equipment removal.

I also added the image next to the equipment name when equipping.
Fixed the portrait loading warnings character names.

Made also the engine complain only when a file was provided.
Fixed all the crashes seen around putting the game in pause around screen fades.

I know this is not perfect yet, but this is a design issue:
The pause mode should become independent from the mode engine
before a better behaviour can be added, or at least
that's what I'll later try.
Added support in map transition to tell from which point it came from.

it will be very useful for map script to setup the camera position
according to the origin point.
The big editor overhaul - part 2

- Made forbidden to put custom scripting before the editor data.
- Auto-add the namespace at map writing.
- Stores the context inheritance list, the map name,
and the map location image filename.
- Started work toward a layer toolbar to add/modify/remove layer.
unfortunately still disabled for now.
- Readded the layer fill command.

Conflicts:

	src/editor/grid.cpp
Made the editor retain the custom scripting data even when using save as...

It will now load the scripting data at load time and put it back when saving.

Conflicts:

	src/editor/grid.cpp
Made the ScriptedEvents and ScriptedSpriteEvents use string based function names.

This gives a much more readable custom scripting part already.

The functions remain in the map_functions table but will have to called using their string name value:

E.g.:

map_functions = {
my_function = function() print("ok") end,
my_update_function = function() print("tick") end
}

...

event = hoa_map.ScriptedEvent(event_id, "my_function", "my_update_function")
Fixed a crash happening when diagonally colliding with a right/bottom map bound.

Could be easily triggered in the village map.
Made the map loading code much less crash-prone.

Now the error will be reported and the game will directly go back
to the boot screen, which is a bit less rude even if the result
is the same for the user.
As for the debugger (me), it is quicker in debugging sessions.
Modified the physical map objects to support animation files.

I also added a basic set of map objects for now.

Those should make the need of a fringe tile layer useless
if everything is going fine.

Note also that I made an API change:
PhysicalObject:AddAnimation () is now named AddStillFrame()
as AddAnimation() will use an animation file now.
Made the menu not display a white image when there is no location image.

I also moved the location image down a bit so that longer map names
won't be covered by the image.
Fixed the first item selection sound in the boot menu.
Fixed the testing translation preparation, and fixed the menus reloading
when changing the language in the boot menu.

It is now possible to quicky change the language there.
I still need to test whether all the translation key words
and translatable files are taken in account.

Conflicts:

	src/engine/system.cpp