Rewrote Automaton library

Now distinguishing pure automatons from stateful ones. Did away with the CPS approach. The basic functions are a bit more complex (especially the `>>>` operator), but hopefully this code has better performance. Still need to test that.. Still need to test all of it really. But I wanted to start share early, add more commits to this PR later if necessary. 

:question: Do you happen have some code that uses this library? I'm still looking for a nice integration test. Unit tests I can write. 

:exclamation: I also added some other common AFRP functions, including `loop`! I was able to implement the `state` and `hiddenState` functions without knowledge of the internals of `Automaton` using `loop` :smile: 

:question: What do you think of the rewrite?