text: Title: tqdm.auto.tqdm problem detecting IPython (Spyder and Jupyter QtConsole)
  Body: ## Frontmatter
  - [x] I have marked all applicable categories:
      + [ ] exception-raising bug
      + [x] visual output bug
      + [ ] documentation request (i.e. "X is missing from the documentation." If instead I want to ask "how to use X?" I understand [StackOverflow#tqdm] is more appropriate)
      + [ ] new feature request
  - [x] I have visited the [source website], and in particular
    read the [known issues]
  - [x] I have searched through the [issue tracker] for duplicates
  - [x] I have mentioned version numbers, operating system and
    environment, where applicable:
    ```python
    import tqdm, sys
    print(tqdm.__version__, sys.version, sys.platform)
  
    >>> 4.54.1 3.8.5 (default, Sep  4 2020, 07:30:14) 
    >>> [GCC 7.3.0] linux
    ```
  
  ## Problem, Example
  The `tqdm.auto.tqdm` tries to serve the nicely looking `tqdm.notebook.tqdm` class to my IPython console. The behaviour was tested using:
  - IPython 7.19.0
  - Spyder 4.2.0
  - Jupyter Console 6.2.0
  - Python 3.8.5
  all obtained through a conda installation.
  
  The shortest code to recreate the problem is with the following script
  ```py
  # Import packages.
  from tqdm.auto import tqdm
  from time import sleep
  
  # Keep track of sleep.
  for _ in tqdm(range(6, 13)):
      sleep(1)
  ```
  Which works from the terminal, using basic class `tqdm.tqdm`:
  ![afbeelding](https://user-images.githubusercontent.com/31255888/102530182-ffcdd280-40b1-11eb-93f0-6ba31fac5921.png)
  
  Works from Jupyter Notebook using the decorated class `tqdm.notebook.tqdm`:
  ![afbeelding](https://user-images.githubusercontent.com/31255888/102530301-2986f980-40b2-11eb-81c4-9815c6838ff1.png)
  
  Fails in IPython, via Jupyter Console, Jupyter QtConsole and Spyder. It tries to serve the `tqdm.notebook.tqdm` class while this cannot be displayed properly. Resulting in the following message `HBox(children=(HTML(value=''), FloatProgress(value=0.0, max=7.0), HTML(value='')))`.
  ![afbeelding](https://user-images.githubusercontent.com/31255888/102529931-a9609400-40b1-11eb-93a1-39bae6cb61dc.png)
  ![afbeelding](https://user-images.githubusercontent.com/31255888/102530610-4a4f4f00-40b2-11eb-94e2-a9943f12199f.png)
  
  ## Background
  I happened upon this issue when using the `tqdm.contrib.concurrent.process_map` function. I created an `issue`<https://github.com/jupyter/qtconsole/issues/461> on the Jupyter QtConsole git, which after a short discussion pointed out the solution for my specific case. I was also pointed out the difficulties of detecting the frontend and possible ways to solve that.
  
  Because the solution was including the optional key `tqdm_class`,
  [see the documentation](https://tqdm.github.io/docs/contrib.concurrent/#process_map), it became apparent that there is an issue in the `tqdm.auto.tqdm` class.
  
  ## Related Issues
  The following issues are related, but far older and closed: #747, #645, #394.
  
  