[NPUW] Model Builder: Split ModelConfig into per-model-type configs (#34774)
### Details:
Replace the monolithic ModelConfig struct with a BaseModelConfig base
class and dedicated config structs for each model type. This moves
unnecessary boolean flags and each config only exposes fields relevant
to its model type. Callers use explicit build_llm() /
build_whisper_encoder() / etc. entry points instead of a flag-driven
build_model() dispatcher.
**AI Assistance:**
- AI assistance used yes
- AI helped resolve conflicts and updated existing tests, reviewed
manually and made some small changes.