Worked around sprite events handling.

The sprite event handling was not very complete in the event supervising.

A simple flawed case could be triggered when you were starting several
delayed sprite events on the same sprite, leading it to behave very strangely.
(You could even trigger two path find events running one against the other,
which is main flaw discovered here.)

A second point is that once you had triggered an event loop on a npc,
you couldn't really break that event chain anymore and start another one
when something specific happened.
To permit to break a event chain for a sprite, I added the TerminateAllEvents(sprite*)
function, freeing it from the previous, even delayed events.

I also made the spriteEvent::_Start function look at stopping any other (event delayed) sprite
events, since it is better for the engine to prevent flawed cases when several sprite events
are running on a given sprite, at least for now.

This permitted me to finally add proper event chaining in Bronann's home, add Bronann's parents,
and make the mother ask something to Bronann when he's trying to leave.

Conflicts:

	dat/actors/map_sprites.lua
Made every events linked to a sprite be paused when you're speaking to it.

This way, even delayed events will be paused,
preventing strange random behaviour.

I also added two functions checking for every sprite event function
instead of an event id, since one can't pause delayed event with
the id of its parent. Plus, this is not what was intended anyway.

I adapted the PauseEvents and ResumeEvents functions for now
but I might completely remove them later as they are useless for now.

This is fixing the dad and mother behaviour when you're speaking to them
while they're not moving (as they are waiting for the next delayed event
at that time.)
Fixed the context creation in the map editor.

Previously, the vectors were filled with a 0 values instead of -1.
Fixed the same context bug in the game app.

The other contexts' tiles were initialized with 0 instead of -1.
Made the editor display all coords types at once.

This permit to make quick checks without changing
the view again and again.
Finished the context inheritance support.

Previously, parts of the editor were made to support another
inheritance than the from the base context, but the game
didn't support that.

I added support for inheritance from a previoulsy loaded context
(or none), and made the first context nameable along the way.

The maps still need to be translated but that will be part
of another commit.
Don't stop the music when returning back to boot mode from the load mode.
Added a function permitting to setup a NPCs with a defined name,
for reusability purpose.

Conflicts:

	dat/actors/map_sprites.lua
Show the compile date in the boot build type text.
Reinforced a bit checks in the file preview code of the save mode.
Merged back the map objects position and offset into one float.

This permitted to simplify a bit the overall API,
remove the need to check offsets > 1.0f, and made possible
to precise the path move event destination node, which is
a first step toward making it fully work.

The detection algorithm has still issues with wall collision
but the fix is still being studied.

Note that I kept on purpose the pixel rounding to keep avoiding
the tiles flipping, which was the main cause of splitting
the position from their offsets, even if I appeared to be not quite
necessary.
Officially removed the useless fringe layer support.

Now that several background layers can be used, that removal
sounded obvious.

I also changed the editor to add 3 background layers and a sky one
on new maps, since it seems to be the correct average layers needed.
Added debug support (using Ctrl+A) to show the grid,
and different collision area in map Mode.

Collision + map objects are supported.

This is gonna be very useful for path find debugging,
as in my previous experience with that.
Visually show the path nodes used on path move events with the debug view.
Ported the engine to use SDL_Image instead of a plain libpng library.

I also ported the save_png function to libpng15.

As a result, the app should now be able to support much more file
formats, even if I basically did it to ease the pain
of future image API changes.
Fix PathMove Events pathnode coordinates.

To avoid making a sprite zigzagging along its path,
I turned the findPath function into using float values
for the pathnode returned.

This permitted to retain the starting offset of the sprite,
and try to keep it all along the way.
Rewrote the collision detection algorithm.

The previous implementation relied on the object supervisor,
and was done using several very complex functions, that seemed
to not do what they were intended for.

So I preferred to rewrite it all in one function based on the sprite,
aimaing at dealing at each case sequencially.
And it happened to get out quite good so far.

This change permitted to:
- Make the player, and npc fall back to a straight direction
when walking diagonally and a collision was detected in only
of the two active directions.
- Make the path move event work as expected, by making the npc,
camera ignore the collisions when following a path, but:
- Making two tangled npc/camera (with interleaving collision rectangle)
being free to get out of each others.

IMO, this will take care of 95% of the cases, and even with playing
a lot with it, I couldn't find no-op and stucking cases so far.

walking in the maps is a lot more smooth now :)
Fixed a deletion of an object with non-virtual destructor warning.
Fixed in an ugly way the editor compilation and image loading.

This will still need some test on big endian  cpus for instance.

Yet, it should do the trick for now.
Upgraded Bronann's attack animation and added the hurt animation.

Taken from an adaptation of Safir/Jetrel's work.

Conflicts:

	dat/actors/characters.lua
	img/sprites/battle/characters/claudius_attack.lua