audio: Clean up init and deinit functions

Rename audio_cleanup() to audio_deinit() for consistency.
Move audio initialization to main().
Port to SDL2 and SDL2_mixer

This is just a simple substitution of SDL2 for SDL, no improvements have
been made to take advantage of the new acceleration framework in SDL2.
Everything is still rendered to a screen in main memory and then
transfered to a texture just before being moved to the screen. Ideally
the new texture feature should be used for sprites but that will require
some rework of the sprite caching and rendering, in particular the
landscape tiles.
Remove map tile caching

There is no longer a huge need for caching the triangular map tiles as
the larger landscape tiles are prerendered and cached now. In addition it
makes it harder to move to the new SDL2 textures, so removing it.