Draft: Remove double buffering from graphical_debug
Even with the double buffering tearing is still possible as instead of doing a page flip to atomically swap the front and back buffer we are copying the back buffer to the front buffer. Drawing directly to the front buffer is about as fast as copying from the back buffer to the front buffer, so the chance of getting tearing is about the same.
Even ignoring the question if it will tear or not, it isn't really important to prevent tearing for early boot messages. They are only shown for a fraction of a second anyway in case there are no problems. In the future when we have a logo shown during boot, these messages wouldn't be shown at all.
All apply various cleanups to further simplify the code.