[FEAT] use context managers in curses visualizer
[FEAT] make onTurEnd handlers less invasive and more api-like