Allow `ENABLED`, `DISABLED`, `PIN_EXISTS`, and `BUTTON_EXISTS` to take multiple arguments. Also add:
- Alias `ANY(...)` for `!DISABLED(...)`
- Alias `ANY_PIN(...)` for `PIN_EXISTS(a) || PIN_EXISTS(b) ...`
- Alias `EITHER(A,B)` for `ANY(...)`
- Alias `ALL(...)` and `BOTH(A,B)` for `ENABLED(...)`
- `NONE(...)` for `DISABLED(...)`
- Clean up the API to use a `static` class instance to adhere to Marlin convention
- Add `const` position data access for read/write
- Add Storage capacity to the interface
UBL able to generate mesh and save and load it on 32-bit platforms (#8015)
* Get UBL Mesh Generation, Mesh Save & Mesh Load working with 32-Bit platforms
* clean up read_data() and write_data() for non-LPC1768 HAL's
* Get read_data() and write_data() return codes consistent
All HAL's read_data() and write_data() return false if they succeed.
* Get read_data() and write_data() return codes to be consistent
Make read_data() and write_data() return true if an error happens.
* Say UBL is now checked out on machine types in default Configuration.h file.