Removed `nest_asyncio` dependency from library, now only used in jupyter notebook. Now Watcher class creates its own event loop and all library coroutines run in it. `nest_asyncio` is still necessary to run in jupyter notebooks. Rewrote most methods to remove `asyncio.run`, they're now replaced by `self.loop.run_until_complete` or `self.loop.create_task`. Implemented `.wait(time)` to replace `asyncio.run(asyncio.sleep(time))` and `.cleanup()` method for closing websockets, ssh and cancelling all tasks. Also upgraded websockets. + Many minor fixes
**Full Changelog**: https://github.com/BelaPlatform/pybela/compare/v1.0.2...v2.0.0