Give every project its own session state.

This is implemented by saving and loading MAT files using the MATLAB
save and load functions. After every command, the session is saved in a
hidden .session.mat file in the project root -- this doesn't look too
expensive but anyway some heuristics would probably help to avoid saving
all the time. When a project is opened, the session is cleared and the
.session.mat file is loaded if it exists.

A sort of neat extra is that MAT files seem to be largely compatible
between MATLAB and Octave, so the session is preserved even if you
switch backends.

(Semi-related change in this commit; don't show hidden files in the
project explorer).