luaengine: add HUD-like capabilities

These commits add several methods to let LUA scripts register a callback
to be invoked before rendering each frame.
This callback typically makes use of the provided gui.* methods to draw
custom graphics on top of each frame.

The idea is to let LUA script provide HUD-like features, mostly used for 
trainings and TAS runs development.

Signed-off-by: Luca Bruno <lucab@debian.org>

---

NB: to ease my development, this branch depends/embeds on PR #70. I'm opening it for review ONLY at the moment, but I will rebase it on master as soon as the other PR is merged in order to get rid of the two spurious commits.