guard dlsym calls, wrap printf

gnu libc printf does not use write..
fix include induced warnings
move printf to uart
fix dlsym warning