Restructured character and player. Character is abstract class now.