[Toolkit.CompilerTask] refactored content compilation tasks to remove duplicate code

Remarks:
1. CompilerDependencyTask class needs to be instantiated during build, this is why I have created a separate class ContentCompilerTask as base for others.
2. EffectCompilerTask processes the logs differently - I suppose it captures log messages from external components (D3DCompiler). Therefore, I have added a flag "parseLogMessages" in CompilerDependencyTask class that can switch logger behavior - forward messages as is or parse them using regex.
3. I did not change anything in classes EffectCompiler/ModelCompiler/FontCompiler as their usage is quite different at this time, however it would be good to unify them too - this will simplify things in the future.