Allow comic sources to define settings as a getter that returns dynamic values.
This enables sources to update their options at runtime (e.g., dynamically
generated domain lists) without requiring source file modification.
Changes:
- Add getSettingsDynamic() method to ComicSource class to fetch settings from
JavaScript on each access instead of using cached values
- Modify buildSourceSettings() in ComicSourcePage to use getSettingsDynamic()
for fresh settings data
- Fall back to cached settings if dynamic retrieval fails
This fixes the limitation where settings defined as JavaScript getters would
only be evaluated once at source load time, preventing dynamic updates.