Use size_t for write & print return, for non-AVR compatibility

Arduino's Print.h uses "size_t" as the return type for print(), println() and write().

On AVR, uint16_t and size_t are the same.  But on 32 bit platforms, size_t is 32 bits, which causes a compile error because the return types to not match Arduino's Print base class.

I compiled this copy and the original for Arduino Uno.  The HEX files match exactly, so this patch has zero impact on compiled code for Uno.