Add API for setting/getting current locale

This API is used to set the current locale for libobs, which it will set
for all modules when a module is loaded or specifically when the locale
is manually changed.
Remove 'locale' from properties

Having the value stored here is somewhat pointless, so this is one step
in fixing the locale handling.  Locale should be handled by the modules
themselves with their own loaded locale lookup information.
Remove 'locale' parameter from all callbacks

The locale parameter was a mistake, because it puts extra needless
burden upon the module developer to have to handle this variable for
each and every single callback function.  The parameter is being removed
in favor of a single centralized module callback function that
specifically updates locale information for a module only when needed.
Add module callbacks for loading locale data

The module callback obs_module_set_locale will be called after loading
the module, and any time the locale is manually changed via core API.

When this function is called, the module is expected to load new text
lookup values for all the text it uses based upon the current locale.
Merge pull request #124 from jp9000/new-locale-handling

Update to new module locale API
Fix b(w)strdup_n returning NULL for empty strings
Change preset order to highest first for mac-avcapture
Remove unused texture file loading functions

Getting cubemaps and volume textures from file is very unlikely to ever
happen for our purposes.
Remove unused parameter for texture file loading
Fix device_copy_texture_region export formatting
Add a 'flush' command to graphics subsystem

...I'm actually concerned that I went a bit overkill trying to prevent
backwards compatibility issues with this abstraction design, because
this is a large number of files that have to be modified just to add a
single graphics subsystem export.  Someone's going to strangle me, and
when you know that someone might strangle you, that means that you did
something wrong.  We'll have to look in to simplifying this in the
future without killing backward compatibility safety.
Remove 'shader' param from shader param functions
Remove unused 'shader' param from effect funcs
GL:  Mark unused 'device' parameter for flush
Remove 'effect' param from effect param funcs

Similar to the shader functions, the effect parameter functions take
the effect as a parameter.  However, the effect parameter is pretty
pointless, because the effect parameter.. parameter stores the effect
pointer interally.
Fix warning in xshm plugin
Fix cursor position in xshm plugin