Introduce plat_get_skin_dir and update plat_get_root_dir functions

On GP2X and Pandora, plat_get_root_dir points to the directory
in which the PicoDrive executable is found. On regular Linux,
it now points to the '.picodrive' directory inside the user's home
folder.

plat_get_skin_dir now points to the 'skin' directory inside the
data directory.

The data directory can be set with PICO_DATA_DIR at compile time.
If that variable is not set, the data directory is set to the
directory of the PicoDrive executable.
SDL sound: Reduce considerably sound latency
SDL video: Use a hardware surface and double buffering
Let the platform code deliver the key mappings
Allow the platform code to override the key names
Allow one key to have multiple actions
Merge pull request #1 from pcercuei/for_upstream