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 would we put such constraints on it right away? Inheriting this class will work just fine and there may be valid reasons to do so.