text: Title: Really remove the 10000-token limit in [Word2Vec, FastText, Doc2Vec]
  Body: The *2Vec models have an underdocumented implementation limit in their Cython paths: any single text passed to training that's more than 10000 tokens is silently truncated to 10000 tokens, discarding the rest. This may surprise users with larger texts - as much of the text, including words discovered during the vocabulary-survey (which doesn't truncate texts), can thus be skipped. 
  
  Fixing this would make a warning like that I objected to in PR #2861 irrelevant. 
  
  Fixing this would also fix #2583, the limit with respect to Doc2Vec inference. 
  
  As mentioned in #2583, one possible fix would be to auto-break user texts into smaller chunks. Possible fixes thus include:
  
  * auto-breaking user texts into <10k token internal texts
  * using malloc, rather than a stack-allocated array of constant length, inside the Cython routines (might add allocate/free overhead & achieve less cache-locality than the current approach)
  * use alloca - not an official part of the relevant C standard but likely available everywhere relevant (MacOS, Windows, Linux, BSDs, other Unixes) - instead of the constant stack-allocated array (some risk of overflowing if users provide gigantic texts)
  * doing some one-time allocation per thread in Python-land that's usually reused for in Cython land small-sized texts, but when oversized texts are encountered replacing that with a larger allocation.
  
  Each of these may need to be done slightly differently in the `corpus_file` high-thread-parallelism codepaths. 