asio based event driven GUI and OpenGL based rendering