* Pixiv: added deeplink and ID search (#9452)
Direct ID search is triggered by prefixing the item's ID with with `aid:` for artworks/illustrations, `sid:` for series, and `user:` for users. The former two are meant only for use in deeplinks, while the latter may also be useful for actual users and therefore has a more exposable name. (All of these prefixes are subject to change)
* Pixiv: bandaid fix for API not returning needed values (#9452)
Apparently depending on the circumstances, the API doesn't return the user ID to which a series belongs. This user ID is instead placed in the outer Illustration object. This very basic (and subject to a larger refactoring) fix ensures that the user ID is always present when needed to construct the link (it isn't required for anything else in the API)
* Pixiv: ensured that only exact matches to the deeplink patterns are handled specially (#9452)
The exact pattern is: `<type>:<ID consisting of digits>`. By ensuring that only digits and nothing else afterwards are allowed by the pattern matching (otherwise falling back to regular search), we further decrease the likelihood of users accidentally triggering this functionality (it sadly can't be entirely avoided, since deeplinks need to share an interface with the regular search queries)
* Pixiv: changed Deeplink system to use URL
Instead of complex parsing logic in the (deliberately lightweight and kotlin-wise handicapped) Deeplink Activity, the captured URL can just be passed to the search directly and handled there. The ability for the search to understand full Pixiv URLs is useful (and half-expected) either way, and it will not interfere with regular search function.
* Pixiv: fixed IndexOOB when query is empty/not a valid URI
* Pixiv: Applied suggestion to use OkHttp Urls
* better compatibility with old urls
* use index for chapter number as fallback
* better chapter number logic
* escape chapter names
* fix deep link for canvas
* Update build.gradle
* bgm
* deeplink
* i + 1
* Refactor PerfScan extension: update base URL, remove unused theme package, and implement new API response models
* Fix Review
* Fix consistency on URL
* fetch popular mangas
* fetch pages
* descramble image
* clean code
* fix date time parse
* get all chapters
* add dto for page response
* move dto and descrambler into separate files
* happily use parseAs
* add dummy url for missing chapters
* set different icons for lock and pay chapters
* search and latest
* get all authors
* clean code
* remove comment and unneeded json field
* fix incorrectly http url conversion