Removed mTypeName from Component class.

And replaced it with a virtual std::string getTypeName() whose
implementation is required for all components.