[feature] UnusedUse - rewrite to use Tokens

UnusedUse - rewrite for use Tokens.
Work in progress

- [X] rewrite to use Tokens
- [X] fix #217
- [X] fix #317
- [X] fix #353
I have feeling that it may not work with some edge cases.
Add a test case and fixed, thanks!