XBM uses unsigned chars, and the LSB is on the left of the image
significant refactoring of command line shell
shell commands are independent instances now
include hal.h to access STM32 processor definition
add number parsing to ShellCommand class, so it can be shared
need stdint.h for uint32_t
avoid calculating the union of an empty rect with a dirty rect for invalidation
print SYSCLK in shell info command
Small changes

Added a method for converting numbers to strings.
We don't need no number_to_string!
pass explicit buffer for FileLog class
add a super tiny font
function to return write offset into the log file
make open(const char *) virtual
add stack template
add unit testing
first (partial) attempt at parsing JSON
stack template
test cases for JSON parser
Merge branch 'shell_refactor'
added numeric parsing and changed keyword literals