Tab modifications

Complete change of how the tab system works.

(Eventually will be able to support dynamic class-loading through reflections?)