Added two extra spaces in the input string to work around the word splitting issue at the end of each line.
Refactoring to Flyweight pattern by building up the Character array using intentional programming.
Added a screenDrawnResult in test and fixed a fence-post bug.