Move implementation of `read()` and `write()` of `serial_interface`
The implementation code is now located in its cpp file. It is not
necessary anymore to have the code in the header file, because its
no longer use a template type.