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?
I prefer a class, so we don't have to care when to call the destructor.