Progress on StateMachine experiment

Made a lot of progress on the gesture state machine experiment. The graph management is mostly implemented (except node deletion, which could be complicated for both the implementation as well as for the user... what happens if the node has connections? Are all incoming/outgoing edges removed, or are they somehow reconnected to other nodes? Maybe the user has to ensure that all edges are removed before performing node deletion (operation failure otherwise)).

Need to do testing on update() with real time data. Currently, the test has
a state graph that shouldn't even work theoretically, so need to design and
test a simple graph that should theoretically work.
GestureStateGraph tested, nearly finished

The only thing not implemented is removeNode(), which I'm still not sure what the functionality should be - remove any connected edges, or cancel the operation and force the user to remove connections himself?

Tested GestureStateGraph: tested the logical correctness of the implementation, and also designed a few graphs to see how well it worked for actually detecting gestures. Fairly optimistic