retro-core-cb: Turn cb_data into a stack

It makes having multiple cores or re-entering cores safer.
Replace SystemAvInfo struct by AvInfo object
retro-video-handler: Correct the type for self to RetroVideoHandler in functions
Update libretro.h
Add inclusion guards to handlers' headers
Environment: Remove av_info
retro-core-extern: Use video_handler_command()
retro-core-extern: Use variables_handler_command()
Remove Environment and EnvironmentCommand
Add retro-environment-core
Rename environment handlers