stmhal: Update and improve LCD driver.

Still some method names to iron out, and funtionality to add, but this
will do for the first, basic version.
stmhal: Fix file print methods to use print instead of printf.

Also make stdout_print_strn static (ultimately this function needs to be
merged with stdout_tx_strn).
stmhal: Fix type signatures on functions that take variable args.
stmhal: Add Python function to set UART for REPL.

This adds a hook to get/set pyb_uart_global_debug from Python, using
pyb.repl_uart().  You can set it to an arbitrary UART object, and then
the REPL (in and out) is repeated on this UART object (as well as on USB
CDC).

Ultimately, this will be replaced with a proper Pythonic interface to
set sys.stdin and sys.stdout.