[DDMD] Allocate File objects on the heap in lib*

With `File` defined in D, calling the destructor does not work.  The buffer is always leaked, so leaking the `File` is a very small additional overhead.