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?
@degasus @delroth Unfortunately Swap() is a static method, thus s_fps also has to be static. I can still turn FPSCounter into a class, if we want to keep it as a namespace the PR can be merged as-is.