fix issue where output of cairo which has pre-multiplied alpha was not being corrected for opengl which expects non-multiplied alpha
Added infrastructure allowing objects to intercept and handle the settings menu signal so that one can present their own settings menu instead of the builtin Anura settings menu