Trying to fix the PreviewClass messiness.

Now the PreviewClass and Review share the same code because they inherit from AbstractFlashcardViewer. And it's interesting that very little had to be changed for the PreviewClass work the way it should.

I think that my approach, at least, fixes the messiness that the PreviewClass was. Now, the management of PreviewClass and Reviewer classes can be made more easily.

observation: I don't know if it matters, but I let the author for the AbstractFlashcardViewer the same as the Reviewer because it is basically a copy of the older version of the Review class.