stdio: Fix logic and null-terminate snprintf output
strtol: Override newlib implementation

We define these ourselves as linking against newlib's definition leads
to a 1kB impure_data global being brought in to the image due to errno
handling.
uart: Return error if write fails
crc: Mark buffer as const
pin_change: Note that pins should be PIN_*, not GPIO_*
timeout: Expose LPTMR timebase