Refactor content_directory.

It shouldn't be RGUI browser dir. Instead it is a more developer centric
option for when libretro apps are distributed (along with RetroArch for
example). Also facilitates a standardized assets folder later on if
applicable.
Delete shader objects early instead of late.

Less error prone. Also saves some memory.
Don't call glDetachShader().

Some drivers don't like it.
adjust analog stick and dpad position
Merge pull request #446 from hizzlekizzle/master

adjust analog stick and dpad position
(PS3) Refactor PS3 input driver - no button input right now in
RGUI though
(iOS) RADirectoryList now takes a block for a callback, rather that a delegate.
(Apple) Add some extra location manager logging.
(GX/PS3) Reimplement menu binds
(PS3) Implement input autodetection
(PS3) Implement analog controls for PS3 - still borked in TyrQuake though
(iOS) Add method to delete custom core configs.
(XDK) Build fixes
(XDK Salamander) Build fix - ssize_t not there on MSVC 2003 - but
size_t is
(XDK) Refactor input driver - now goes through joypad driver
(Apple) Update content history properly.
(iOS) RunActionSheet now takes its callback as a block.
(iOS) Long pressing on a setting menu item will give the option to reset it to default. (Except booleans)
Fix broken GET_CONTENT_DIRECTORY environ callback
Make return type of read_file ssize_t again - include
msvc_compat for Win32 boxes to get typedef for ssize_t