Add Callback and ScriptCallback

#541 

Instead of calling a std::function (and thus a possible invalid Script) they call a Callback now.
ScriptCallback is a call to a lua-function that will check whether the script is still valid before calling back.