[New Feature] I2C position encoder support (#6946)
* [New Feature] I2C position encoder support
I plan to continue improving/cleaning this up, as there areas that need work.
* let the cleanups begin.
* progress
* more progress
* comments, rename files, etc.
* clean
* Cleanups per thinkyhead
* a few more cleanups
* cleanups, bugfixes, etc.
* remove unnecessary passes_test(), additional cleanups/optimizations
* cleanups
* misc.
* Fix up I2CPEM.init() and a few other things.
* organize, fix, rename, etc.
* more optimization
* a few more tweaks
* Change all direct changes of ubl.state.active to
set_bed_leveling_enabled() which handles apply/unapply
leveling to maintain current_position consistency.
Fix invalidation of UBL mesh to invalid unreachable
mesh points as well (delta corners).
Fix UBL_DELTA unapply_leveling logic and when
it gets applied, including fade_height changes.
Add optional M114 D for detailed position information,
disabled from compilation by default (M114_DETAIL).
* UBL_DELTA raw and inline kinematics
* UBL planner fall through fix
* consistent variable names
* Cleanup orphaned code and whitespace changes.
Use _O2.
* compile warnings cleanup
* Remove redundant #ifdef condition
==============================
Configuration_adv.h changes
==============================
add "live" LCD update
==============================
P & S version
==============================
final (hopefully) tested version
==============================
update M115 capabilities print
==============================
Menu changes portion of the requested changes
==============================
changed USEABLE_HARDWARE_PWM from a function to a series of macros
==============================
changes per review
* Unify M600 and M125 pause features
* Cleanup per thinkyhead's comments
* Rename filament_change_menu_response to advanced_pause_menu_response
* Include HAS_BED_PROBE in QUIET_PROBING
* Update gMax example file
* is_idle() is out of scope without the braces
* Convert FT-i3-2020 to Advance Pause names...
* Allow pause even if not printing