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>