Add Launch{Browser,Market,Email} support on Linux

Modern Linux desktop should implement a xdg-open program, that should open an
URL on the default desktop program.

The documentation of xdg-open says that we should supply xdg-open script on
our installation script for fallback purposes, but I don't think this is
really necessary: anyone using a reasonable recently DE on Linux should have
xdg-utils installed.
Merge pull request #163 from m45t3r/linux_launcher

Add Launch{Browser,Market,Email} support on Linux
Prefer modes with 24-bit or 20-bit depth to 16-bit.
Fix nasty bug in one FBO setup. Must be a common mistake that some drivers work around?
Revert "Fix nasty bug in one FBO setup. Must be a common mistake that some drivers work around?"

Doesn't seem to have been a bug. But at least we got a test build out of it :P

This reverts commit 1b46a9ce6bc57aa4aa83d3670fc3c8d46964a0eb.
Detect EXT_unpack_subimage
Add a few weird axes seen on Ouya
Add basic support for showing an icon within choices
Try to fix keyboard numpad mappings in SDL
Add F1-F12 SDL key codes
Add support for launching URLs on MacOSX
Change string manipulation to C++ string class

std::string seems to be the preferred method since you don't need to alloc
more memory then you need (the Class automagically allocates the necessary
RAM) and there is no chance of buffer overflow. But since I don't have Mac
OSX, I didn't test it (it should work, since this is standard C++).

Add Mac OSX support to Launcher{Market,Email} too and changed Linux to use
"xdg-email " instead "xdg-open mailto:" since this seems the preferred method.
Rearrange when NativeInit starts so that BPS events are available for it.
SDL: Add support for hat motion events. Y axis may be inverted, not sure.
Check for Blackberry invocation in native instead of in NativeApp. Much cleaner.
Update some CMakeLists used by projects other than PPSSPP
Code cleanup. Rearrange code in logical order. Increase Symbian vibration.
Pandora runfast was redundant (exists in math_util). Also it is VFPv3 not VFPv2.
Warning fix
Make sure MAX_POINTERS is only defined once.
Another cmakelist update