Added `sink` to control.Var

This adds an asynchronous sink to Vars for convenient interoperation
with signal functions.
Tested and fixed test.simulate

There were several subtle bugs in `simulate` which showed up when
testing the function. Most importantly, a race condition could occur
in Var when starting the reactive graph. We could therefor not
use a `Var[Unit]` and just skip its initial event but had to go
for `Var[Option[Unit]]` and filter it accordingly. Otherwise,
events at time `T0` would probably not be passed on.