libhb/common: improve fallback mechanism.

API changes:

- added hb_global_init(), must be called before any other libhb function

- removed (somewhat pointless) hb_mixdown_t.internal_name

- some hb_*_get_from_name() functions now return 0 instead of -1.

Instead of hardcoded fallbacks, list items now have a specific fallback, and a generic ID for when the specific fallback is unavailable.

Encoder availability is checked at runtime (hb_global_init calling hb_common_global_init) and the item's value/fallback is sanity-checked and updated if necessary.

See https://reviews.handbrake.fr/r/506/ for more detailed information.
 


git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5547 b64f7644-9d1e-0410-96f1-a4d463321fa5