#89 refactor views

Instead of extending JFrameTextView to override console messages, JFrameTextView takes a TextGenerator as a parameter.

Also included factory methods in JFrametextView to ensure views are correctly made.