* convert search into separate endpoints
* move shared functionalty to components
* NOTE: acceptance of opensearch has waned over the last decade and
the script should be updated
* update TrinityCore components to return new Frontend objects
- SmartAI => Markup
- Conditions => Data Listview
* update template files to accept the new Frontend objects
* redo page render following the logic of:
Response ─┬─> TextResponse ─> TextResponseImpl
└─> TemplateResponse ─> TemplateResponseImpl
* split up giant files, one per response path
* caching becomes a trait, implemented where necessary
* TextResponses (Ajax) can now be cached
* make use of previously defined php classes for js objects
* Tabs, Listview, Tooltip, Announcement, Markup, Book, ...
* \Aowow\Template\PageTemplate is the new class to be cached
* do not discard error messages generated after vars have been sent to template
and store in session for display at a later time
* implement tracking consent management
* move logic out of template into their respective endpoints
* modernize DB-Types
- long term: should be split in class that describes the DB-Type and container class that handles multiples
* make unchanging filter props static, allow lookup of criteria indizes through filter
* move username/mail/password checks to util and make them usable as input filter
* fix fetching areatriggers from DB and calculating found matches
* fix Lang concatenating an array of strings with len < 2
* don't show debug-id col in picker windows (Summary/Profiler) and sort them by score if able
* unlink quick facts from articles and store per-row
* new system allows generic and manual QuickFacts to coexist
* fill new table with data for zones
* if someone used static quickFacts .. uh .. good luck?
* the great unfuckening of user and displayName
* `login` is purely used as login with AUTH_MODE_SELF
* `email` may now also be used to log in (if the system knows it)
* `username` is purely used for display around the site, and lookups from web context
* both must exist because of external logins
a) that may be not unique
b) you may not want to share with the rest of the world
* todo: implement rename ( because of b) )
* create php classes, each mirroring a js object
* each frontend class implements __toString and json_serialize and as such can be directly used by the template
* also allows for sane object creation before js screams in agony
* usage TBD
* remove vendor-specific styles and replace with generics where necessary
* remove browser hacks as far as possible (Presto/Trident)
* remove FontAwesome reference
* minor cleanup