Allow declaring component model via annotation

- introduce ComponentModel annotation with type and implementation attribute
- inspection for ComponentModel annotated plugin subclasses is done when plugin is applied
- inspection logic is provided via PluginServiceRegistry in languageBase project
- if ComponentModel is declared apply ComponentModelBasePlugin behind the scenes
- update integration tests
- moved PluginModelRuleExtractor creation into a service