TableGUI base class, highlight improved

Made TableGUI an abstract class instead of an interface. Made
TableViewer and TableViewSmall into concrete derived classes. Slightly
improved recent discard highlight functionality (it still needs work).