libtcod can be possessive of the SDL window sometimes, making it hard to add any kind of drawing routine in the middle of libtcod's console_flush function.
Splitting console_flush into a render_console and display_flip function would make any custom drawing onto SDL much easier.
This would also mean libtcod should be able to return the pointer to its SDL window and renderer, so that the user can access them.