corruption if a packet was received at the wrong time.
The maca_thread now just PAUSEs and checks rx_head instead of waiting
for a data event to be posted.
maca_on() resets the maca and phy, takes a long time, and clobbers any
packet that is currently being transmitted or received. It doesn't
belong in prepare and was the source of a lot of latency and bad
packet transmissions.
Make sure the maca is on somewhere else.