Button hudget

Depends on #588

Buttons with std::function Callbacks, implementation example in hud.cpp
except for enums right? Compiler will only pass on an int anyway I believe.