[generate] Add proper MTP support (#46229)
* very raw start for later
* good progress
* close to it
* fix path
* a few fixes
* continue
* fix mask shapes
* it works
* support any drafting method
* improve
* fixes
* fix dtype
* fix dtype
* add config
* add ty ignores
* skip config check
* avoid changing signatures - put it into generation_config instead
* raise error if invalid
* change name
* name changes
* remove pos_ids for mask
* cache is not strictly needed
* fix
* create on meta
* add loss
* move to modeling_layers
* fix modular
* fix
* fix
* test