it is unlikely to have a "villain" and "hero" in one same person
unlikely but possible. There should be a legal room in the constitution, to criticise anyone.
However name calling, or hate mongering is alltogether a different story.
If somebody does not like Prophet Mohammad, that is fine. We have hindus and christians on our country and I don't think they will be onboard with the rest.
We should allow everybody express themselves in a respectable manner, and you have a right to agree or disagree. In our society, anger replaces the argument and such uproars put a road block to any non-mainstream ideas or ideology.