[ESP32] Update esp-idf to v5.1 release (#28326)

* [ESP32] Update esp-idf to v5.1 release

* Fix the requirements for v5.1

* Fix the pyparsing version and explaining comment

* Update the container image to use the latest one

* remove gdbgui from few more places

* fixup constraints for pyparsing

* Fix kconfig module

* Fix the esp32 qemu

* Fix freertos path

* Fix format specifier in esp32 pigweed logger

* Restyled by clang-format

* Fix the shell app

* Move freertos function from IRAM to flash for chef app

* Fixes for building all-clusters-app with Target m5stack.

Also, IRAM usage shot up so moved the freertos functions to flash

* Changes to fix all-clusters-minimal app

* Remove gdbgui references

* Changes in lighting-app

* Examples supporting display must build for non esp32 targets

* Pull in few dram optimizations from temperature app

* Reduce the critical logging buffer

---------

Co-authored-by: Restyled.io <commits@restyled.io>
diff --git a/scripts/setup/requirements.esp32.txt b/scripts/setup/requirements.esp32.txt
index f688b17..d0d6d92 100644
--- a/scripts/setup/requirements.esp32.txt
+++ b/scripts/setup/requirements.esp32.txt
@@ -1,18 +1,15 @@
 click>=7.0
 future>=0.15.2
-pyparsing>=2.0.3,<2.4.0
+# pyparsing: Min version was set based on https://github.com/pyparsing/pyparsing/issues/319
+# pyparsing: Max version was set to avoid breaking changes
+pyparsing>=3.0.3,<3.1
 idf-component-manager
 pygdbmi<=0.9.0.2
 reedsolo>=1.5.3,<=1.5.4
 bitstring>=3.1.6,<4
 ecdsa>=0.16.0
-kconfiglib==13.7.1
 construct==2.10.54
 python-socketio<5
 itsdangerous<2.1 ; python_version < "3.11"
-#
-# gdbgui pulls in gevent which fails to compile due to cython updates.
-# Could not find a good way to fix this dependency, so commenting it
-# out here.
-#
-# gdbgui==0.13.2.0 ; python_version < "3.11" and platform_machine != 'aarch64' and sys_platform == 'linux'
+esp_idf_monitor==1.1.1
+esp-idf-kconfig==1.2.0