Add lima video driver

Documentation is provided in README-lima.
video_lima: adjust aspect ratio depending on frame dimensions

With this the emulator framebuffer is no longer stretched to the entire
screen. However it's still not entirely correct. For example the aspect
ratio value provided by the frontend is not used yet.
Also I noticed this behaviour: When using the game "Secret of Mana 2"
(unofficial english translation) on the snes9x-next core, the game
normally uses a framebuffer of dimension 256x224. But when rendering
text windows, it increases resolution to 512x224. With the current
behaviour this alters aspect ratio and let's the image "explode"
when text boxes are displayed, only to "implode" again when they close.
This should not happen! (Needs further investigation...)
video_lima: fix some swizzling in the fragment shader

Thanks to AreaScout for testing this!
video_lima: update TODO

Swizzling is fixed.

Restart issue is fixed. Update lima-drm for now correct
initialization and destroying of threading/mutex objects.
video_lima: misc fixes
video_lima: add font rendering by using the temp buffer
video_lima: update TODO

Font rendering is fixed.
video_lima: update TODO

I have failed to encounter the artifacts during my recent tests, so
my guess is that they were fixed by some changes to the code (either
in limare of in the RetroArch driver).
video_lima: align temp buffer
video_lima: update documentation

lima-drm is now also hosted on github.
Fix Rasperry Pi build.
Rewrite threaded audio a bit.

Avoid calling stop() right after init.
Driver init/teardown now happens only in audio thread.
(libretro-test) Implement audio callback
Merge pull request #519 from tobiasjakobi/master

lima video driver
(Menu) Add menu driver selection
(Emscripten) Rename frontend_emscripten.c to frontend/platform/platform_emscripten.c
video_lima: remove unused and redundant variables
video_lima: whitespace fixes
video_lima: set wrap mode to clamp for all textures we use
(Sensor) Windows build fix