Another ambitious idea: shared libraries. This would require its own shell of course. It's been done in Usgard (TI-85); you should look at its method.