Major clean up and enhancements

Cleaned up underlying data structures to allow for easier extension to
more displays.   This also greatly reduced duplicate lines of code.
Improved functionality of string changing, allowing the HDSP2111 object
to reference a string controlled by another object — improved handling
of dynamic changes of that underlying string.   This makes the HDSP2111
a much more “passive” object.

Added some debugging functionality as well.

Caught a few small bugs in the process.
Additional Features (brightness, control register)

Added ability to query the HDSP2111’s control register.
Added ability to adjust brightness via code.