Further input tests
Coroutines

Added CoroutineEngeine
Changed WaitEventCoroutineState to use observable streams
Added SubCoroutineState adapter