since the `Print` class has a virtual method [`write(data, len)`](https://github.com/espressif/arduino-esp32/blob/master/cores/esp32/Print.h#L69), and some sub class like [HardwareSerial](https://github.com/espressif/arduino-esp32/blob/master/cores/esp32/HardwareSerial.cpp#L471) has optimized block write method, we should use it instead of [writing bytes one by one](https://github.com/HEADS-project/arduino_msgpack/blob/master/msgpck.cpp#L727) same for [write_string](https://github.com/HEADS-project/arduino_msgpack/blob/master/msgpck.cpp#L700)