Fix some define glitches
Modify `serial_interface` to use templates
The `serial_interface` should now be able to send/receive types...
This has to be tested.