void replace_program(name)
string name

Substitutes a program with an inherited one. This is useful if you consider
the performance of the driver. A program which doesn't need any additional
variables and functions (except during creation) can call replace_program to
increase the function-cache hit-rate of the driver which decreases with the
number of programs in the game. Rooms are a good example for the application of
this function, as many rooms just consist of an inherit statement and the
configure function. Any object can call replace_program but looses all extra
variables and functions which are not defined by the inherited program. name
is the actual filename of the program (without the path and without .c). The
array returned by inherit_list will not contain the name of the program which
used replace_program, but the program which replaced it in position 0. 
file_name will, however, still return the old filename. This function will
also reduce memory requirements for the object.

replace_program can't be used for items that are to be cloned at any point,
and is valueless for clones (as they already are program-less).
