* Add an independent MQTT client for use by Berry applications and extensions
- Introduce `mqttclient` Berry class (ESP32) for connecting to MQTT brokers with own credentials, TLS, LWT, and auto-reconnect separate from global MQTT client
- Berry `mqttclient` aims to match functionality of global MQTT client including backoff logic using Settings->mqtt_retry, mqtt_keepalive, and mqtt_socket_timeout
- Rename `retry_counter_delay` to `retry_counter_multiplier` in xdrv_02_9_mqtt for clarity and avoid redundant multiplication.
* Added `USE_BERRY_MQTTCLIENT` flag for conditional compilation of the standalone Berry MQTT client
* Tasmota - Berry ASYNC Webclient integration
Add library.json for Async HttpClient Light
Update readme.txt for AsyncHttpClientLight
Clarified the integration of AsyncHttpClientLight with Berry webclient and improved formatting for example URLs.
AsyncHttpClientLight.cpp
Add AsyncHttpClientLight header file
Integrate ASYNC Webclient functionality
Add USE_BERRY_WEBCLIENT_ASYNC feature
USE_BERRY_WEBCLIENT_ASYNC definition for async webclient mode.
Refactor webclient to use AsyncHttpClientLight
* Revise readme for AsyncHttpClientLight updates
Updated readme.txt to reflect changes in AsyncHttpClientLight, including new core client details and operational notes.
* Update README for AsyncHttpClientLight integration
- Bug fix to remove type check for 'int' in `breathe.be` color so ValueProviders are supported alongside integer colors (same as #24284 which was removed in later commits)
- Fix existing tests in `breath_animation_test.be` and add tests for color as a ValueProvider
- Style clean up in `breathe.be` `on_param_changed` to use `set_param()` instead of individual assignments
- Fix to remove duplicate `super().on_param_changed()` call in `rich_palette.be`
- Move `super()` call to top of `on_param_changed` in `breathe_color_provider.be` to be consistent
- Add comment about brightness scaling applied by `Leds` to `animation.be` init_strip
* Fix scrubDNS()
* change #ifdef USE_IPV6 so that has_v6 is not used in IPV4-mode
* move definiton of dns_save4 outside of #ifdef IPV6
* check if addr is v4 only in v6-mode