Refactore media properties

Instead of making copies of all data, converting them our types (char* to string, etc...) and making our transformations (the 'sampleFormatLongName' for example), here we store pointers to FFmpeg objects (AVCodecContext, AVFormatContext, etc...) and have getters around these objects, which access and transform the data the way we want.

Note: some data are not perfectly handled by the FFmpeg library. We fix it by creating copies for them in the corresponding class.

Next step: store metadata in a schema like EBU-Core which can contains technical and editorial metadatas.