changed filename string handling for level file info structure
Before, level filenames in the level file info structure (members for
"basename" and "filename") were only handled as references to the
basename/filename strings allocated elsewhere, so if those strings
changed, the references in the level file info structure also pointed
to those changed strings. When determining filenames for both level
files and corresponding level templates, references to level filenames
were replaced by references to template filenames, which resulted in
unexpected/wrong behaviour.
Now, these level filenames are handled as copies of the strings, so if
the strings change, the string copies still stay the same.