[lib][cbuf] add byte optimized routines

For simple uart stuff, writing and reading one byte at a time
is a common use case. These optimized routines are substantially
more efficient.
[platform] switch all platforms to using the char version of cbuf