FPSCounter: Flush the logs every second and close them when the renderer is shut down.

We also move `FPSCounter::Update()` to RenderBase, where it is called after `SwapImpl()`, does this affect our results?
Why is s_fps static? It could be implemented as class attribute:

g_renderer->m_fps = ...