utils/viewer: add a modules blacklist
utils/viewer: add a modules blacklist

This is currently mainly motivated by numpy not supporting the reload. But
blacklisting numpy only doesn't seem to be enough. Indeed, when using a numpy
import, for some reason it breaks something related to threading in the
watchdog module (this only happens when importing numpy):

Traceback (most recent call last):
  File "/home/ux/sx/src/node.gl/pynodegl-utils/pynodegl_utils/viewer.py", line 837, in reload
    self._reload_scripts()
  File "/home/ux/sx/src/node.gl/pynodegl-utils/pynodegl_utils/viewer.py", line 938, in _reload_scripts
    self.end_hooking()
  File "/home/ux/sx/src/node.gl/pynodegl-utils/pynodegl_utils/viewer.py", line 855, in end_hooking
    self._observer.schedule(self._event_handler, path)
  File "/home/ux/sx/env/stupeflix/lib/python2.7/site-packages/watchdog/observers/api.py", line 290, in schedule
    timeout=self.timeout)
  File "/home/ux/sx/env/stupeflix/lib/python2.7/site-packages/watchdog/observers/inotify.py", line 115, in __init__
    EventEmitter.__init__(self, event_queue, watch, timeout)
  File "/home/ux/sx/env/stupeflix/lib/python2.7/site-packages/watchdog/observers/api.py", line 101, in __init__
    BaseThread.__init__(self)
  File "/home/ux/sx/env/stupeflix/lib/python2.7/site-packages/watchdog/utils/__init__.py", line 70, in __init__
    threading.Thread.__init__(self)
TypeError: unbound method __init__() must be called with Thread instance as first argument (got InotifyEmitter instance instead)

Blacklisting threading is enough to fix that issue. To be extra safe, I'm also
blacklisting watchdog.

Note: blacklisting numpy and watchdog does not prevent the traceback above,
threading *needs* to be blacklisted. I'm assuming numpy is doing something
really nasting wrt threading.

This list should be extended at will when new problems arise.

Fixes #8.

gopro/gopro-lib-node.gl,gopro/gopro-lib-node.gl,gopro/gopro-lib-node.gl,gopro/gopro-lib-node.gl