Engine: corrected draw_text_window() function behavior

Removed global screenop bitmap pointer and replaced it with local variables. draw_text_window() and draw_text_window_and_bar() now take pointer to bitmap pointer, and reassign it when a new bitmap is created internally.