Add singleton FlyweightCharacterFactory. Change Character class to AbsCharacter class to avoid confusion with Java Character class.