framework: call destroy directly instead of using atexit
There are two possible factories:
* `piglit_fbo_framework_create` has a `destroy` function which is called inline in `run_test` before `piglit_report_result`, so this shouldn't need an atexit
* `piglit_winsys_framework_init` has no destroy function, so there is nothing to call
by adding a hook to be called directly by `piglit_report_result`, the whole
atexit thing can be avoided, and instead `piglit_report_result` can just call
the fbo framework destructor as needed
Part-of: <https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/966>