Finalizing firmware

Uses a state machine to advance through the 5 different states: ON_HOOK,
PLAY_RING, DIALING, PLAY_TRACK, DEAD_AIR.