Split platform specific code out into separate source file from u2-port.c
New platforms only need to implement the functions in platform.h in their own source file