1) vgm::VGMFile::load is replaced with the public constructor (const char * const) to allow creating instances of VGMFile without copying;
2) copying vgm::VGMFile is now prohibited (before it lead to a double-delete bug);
3) the resources are released correctly if an exception is thrown while initialising a vgm::VGMFile instance