Before it didn't do process_poll like it should and would add events
out of turn and mess up the event processor --- that would cause the
button to stop working after the unhandled events exceeded a max
number
this fixes maca_process to do a process_poll as it should. now the
button works fine and so does the radio.
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.