- resolves issues #2 and #4
- refactor states so that we can use submachines
and regions to compose a state.
- refactor some concepts around StateMachine now that
it extends Region.
- resolves#3 by adding base pseudostate support
for initial state.
- doesn't yet provide full support for any other
pseudostate expect initial.
- Also added initial event which is used when
statemachine starts and activates initial state.