CPP : DRY and error checking
CPP : Add support for text, plus some constant
CPP : Image move to subdir
CPP : Refactor drawing system : use inheritance feature
      Refactor selection system : autonomous object