Ensure all MatrixBank matrices are stored in a list.

This permits generator expressions to be passed to MatrixBank.
Allow Elements and Interfaces instances to be garbage collected.

We now only keep around instances of these classes for as long
as necessary (as opposed to retaining references to them in
the member variables of System).