* Upgrade IDF to 5.3.1
* Add chip-specific build defaults to CI
To help compile-test the different console options, for starters.
* Update IDF to v5.3.2
Having gone through the changelog from 5.3.1, this looks safe enough...
* Refactor into new 'console' module.
A breaking change, but should finally see us move away from the chronic edge
cases and inconsistent behaviour we have while trying to shoe-horn the
usb-serial-jtag and cdc-acm consoles into uart behaviour and assumptions.
* Fix and document console.write()
Added example on using framed data transmission over the console.
* fixup uart examples
* Add workaround for silently dropped console output.
* Add file upload helper script for console module.
Plus, it can serve as a reference for any IDEs which may need/want
updating.
* Fixup really silly copy/paste error.
* Make upload-file.py work better on CDC-ACM console.
* Updated console module doc with CDC-ACM info.
* Load file in binary mode in upload-file.py.