Refactore: clean includes and forward declarations

* Remove unnecessary includes.
* Clean FFmpeg forward declarations: declare the right type (struct or
enum). Avoid warning when compile on MAC OS and Windows.
Refactore: clean __STDC_CONSTANT_MACROS

This #define is already define in common.hpp. Not necessary to rewrite
it in every files.
Option: constructor takes a reference of AvOption

Use only references as parameters to have unified API.
Option: remove getNbChilds function

Use getChilds().size().
Option: rename getChild to getChildAtIndex
Option: clean

* hasChild function uses vector::size().
* getChilds function is const.