30 printf

You may or may not want to merge this, but I think it's worth looking at.  The build is about 500-1000 bytes bigger (depending on build options), mostly due to the extra size of the format_output() function (aka printf).

Removes HardwareSerial and Print from the build.  Replace the Arduino USB with C code.  The build is all C code at this point, but does not build as C due to some C++ constructs embedded.  It will build with --std=c99 (renaming openLRSng.ino to openLRSng.c to see the build difference).

Tested with BOARD_TYPE 2 and BOARD_TYPE 3.