Encapsulate common display code in a singleton (#12395)
* Encapsulate common LCD code in a singleton
* Depend more UBL code on UBL_DEVEL_DEBUGGING
- Since most users don't need the debugging on at all times, this helps reduce the default build size for UBL by over 2K, a little closer to fitting on 128K boards.
- This status screen uses the ST7920 character generator to greatly
reduce SPI traffic and MCU load when updating the status screen.
- Has been tested with the RepRapDiscount Full Graphics Smart Controller
but should work with any LCD that uses an ST7920 or fully compatible
controller.