New scripting API

This is streamlining a lot of scripting API concerning map objects and sprites, dialogues, and map zones.

Also, every members in the map mode can exclusively be set and obtained through accessors/mutators now.
Every lua variables definition relative to an object were set to nil instead of a useless array.
A few mistakes were discovered in scripts along this refactoring and this will hopefully permit to fix maybe a few rare crash causes.

Last but not least, scripts are somewhat smaller now, since 2'300 lines were removed in total when comparing additions versus deletions.
What's left to do along the scripts curation path is to do the same with map events (which will also permit to remove a LOT of lines that can be made useless through auto-registration), make map objects and sprites members private, and fix some overly twisted logic in the oldest scripts concerning character's management.

Normally fixes #410
Fixes #390 
Might help with #354