Don't rely on av_get_media_type_string() any longer

Apparently, this is not available in libav and compilation fails on
the latest Ubuntu.
Fixed a warning about a discarded "const"
Don't use AVFrame::best_effort_timestamp anymore

This is not provided by libav and therefore doesn't work everywhere.
For now, this is removed without any replacement.
Use AVCodec::pkt->duration instead of AVFrame::pkt_duration

Another libav fix, as libav does not provide pkt_duration
Moved from av_image_copy_to_buffer to av_image_copy

libav does not support av_image_copy_to_buffer and it's actually more concise this way.
Removed "channel layout" property

This was rather useless in the first place, and libav 5.1 (which is part
of the latest Ubuntu) does not support this.
Fixed some const correctness bugs
Fixed regression in FFMEPG::VideoFrame#data

Instead of addressing the actual frame memory, the _pointer_ to the
frame memory was addressed. Doh!
Switched to even simpler "duration" calculation for audio frames

It turns out that AVPacket::duration is 0.0 for audio streams. However,
we know the number of samples for this frame, and the number of samples
per second, which can be used to compute the duration.
Different RSHIFT definition in libav and Ruby caused problems

The RSHIFT definition in Ruby differs from the one in libav, which led to
the NUM2INT() macro not working. Because this was working fine in llvm, but
now fails on GCC I assume a difference in the pre-processor macro resolve.

- Also did some whitespace cleanup
Removed all references to "channel_layout" from the test cases
Updated version to 0.2.0 and refer to Libav/FFMPEG from now on