* refactor: simplify logic to load web_devicons
* refactor: make register() asynchronous
* fix: load lazily modules outside this plugin
* refactor: simplify logic to wait initialization
* refactor: use uv.hrtime() instead of os.clock()
* fix: avoid errors in calling plenary.log in async
* test: store elapsed time to check in tests
* test: fix module names
This becomes a problem only in Ubuntu because macOS and Windows does not
care cases in filenames.
* test: fix types and unused modules
* style: fix by stylua
* refactor: make recency / entry_maker loaded lazily
* fix: fix prop attributes and names
* feat: load DB as lazily as possible
* fix: move util function to test module
* feat: use one coroutine to access DB
* test: fix to wait the table to be ready
* fix: avoid race conditions
Before this, it can run require("frecency").new() duplicatedly to wait
until frecency:setup() finishes.
* feat!: remove code for SQLite
ref [Introduce revised telescope-frecency.nvim : neovim](https://www.reddit.com/r/neovim/comments/174m8zu/introduce_revised_telescopefrecencynvim/)
I have deprecated SQLite features 4 months ago. It is the time to remove
code for them.
* test: fix test to load telescope validly
* test: remove sqlite.lua from CI settings
* test: test database as native
* fix: add lacked type from old database/sqlite.lua
* docs: remove description for SQLite3 logic
* chore: fix types
* chore: add types for Database:raw_table