Description: split into hpp and cpp

Avoid potential multiple definitions when using the API.
OutputFile: add endWrap

* Function called after transcoding:
   * write trailer.
   * close and free format context.
OptionLoader: simplify call to loadOptions

* Parameter rej_flags was useless:
   * req_flags = 0 & (DECODING | ENCODING): get options of formatContext
   * req_flags = (VIDEO | AUDIO | SUBTITLE | METADATA) & (DECODING |
ENCODING): get options of codecContext.
* Update OptionChecker to correctly load options (AUDIO in the example).
Option: add getters to min and max
OptionLoader: add functions to load options

* Add "loader" functions, which return the options you want:
   * loadFormatContextOptions.
   * loadCodecContextOptions.
   * loadOutputFormatOptions.
* Update OptionChecker: correct call to "loader" functions, and move all
the display to displayOptions function.
* Refactoring:
   * add public typedef in OptionLoader class.
   * loadOptions function is private, and is called by all the public
"loader" functions.
   * OptionLoader class does not store several array of options: the
"loader" functions return the array of options expected.
OptionLoader: add functions to load video / audio codec options

* 2 functions:
   * loadVideoCodecOptions.
   * loadVideoCodecOptions.
* These functions return an OptionMap:
   * first: codec name (string).
   * second: vector of related Options.
OptionLoader: add getters for short/long names of format
OptionLoader: add getters for short/long names of video/audio codecs
OptionLoader: add getPixelFormats

* Returns the list of supported pixel formats depending on the video
codec.
OutputStreamVideo: refactoring

* Suppress unused include.
* Use local variable codecContext in setup function.
* Suppress 'blabla' in comment!
ImageDesc: refactoring

* Suppress default constructor.