Changes:
1. Refactor QRcode login API.
2. `StorageService.request_play` calls different HTTP API for Web and PC.
3. Add API `StorageService.batch_rename`.
4. Accept dict or class as credential in `Cloud.__init__` and `Cloud.import_credential`.
5. Add timeout for all HTTP API requests, automatically retry when calling HTTP API timeout.
Bug Fixes:
1. Fix type error in `StorageService.make_dir` by 0xfeedface1993 .