Tie the lifetime of File's dependent objects
Tie the lifetime of File's dependent objects

Both the TagLib_Tag and TagLib_AudioProperties objects are tied to the
lifetime of the TagLib_File instance that creates them.

In order to avoid dangling pointers, we need to bind the lifetime of the
Rust wrapper objects together in a similar fashion; this allows the
compiler to warn when the taglib::File references go out of scope and
the user is trying to use a taglib::Tag or taglib::AudioProperties
reference past that point.

Closes #1

ebassi/taglib-rust