Add basis for TCP/IP stack. The stack implements Netdever interface for
the top-end, and calls into a Netlinker interface on the bottom-end.
Each TCP/IP stack instance represents a L3/L4 endpoint with an IP
address. The Netlinker is bound when creating the stack. E.g.:
spi, cs, wlreg, irq := cyw43439.PicoWSpi(0)
cyw43 := cyw43439.NewDevice(spi, cs, wlreg, irq, irq)
stack := tcpip.NewStack(cyw43)
netdev.UseNetdev(stack)
Here, the cyw43439 driver is the Netlinker for the stack. The new stack
is a Netdever, so we tell the "net" package to use the stack as the
netdev. The stack manages L3/L4 socket connections, ultimately calling
into the Netlinker to send/recv L2 Ethernet pkts.