Memory optimisation in Tools data

During initialisation of Tools, each new mod no longer makes a copy
of every data object from the parent mod. Instead, a new object is
created when and only when the mod actually makes changes to a
particular object. In other words, this is a "copy-on-write" system.