engine: Make engine.now() work outside of breaths
engine: Make engine.now() work outside of breaths

Fix a problem where engine.now() could return a stale value if the
engine is not running i.e. timestamp of the last breath.

Now the engine only uses its cached time value while the breathe loop is
active and otherwise it fetches the current time from the time source.

(Could also consider always returning the latest time without caching
but this would potentially make engine.now() too expensive...?)

dpino/snabb,alexandergall/snabbswitch,dpino/snabb,snabbco/snabb,Igalia/snabb,SnabbCo/snabbswitch,heryii/snabb,alexandergall/snabbswitch,alexandergall/snabbswitch,dpino/snabb,eugeneia/snabb,eugeneia/snabbswitch,snabbco/snabb,eugeneia/snabb,heryii/snabb,dpino/snabb,dpino/snabb,Igalia/snabb,eugeneia/snabb,eugeneia/snabb,heryii/snabb,dpino/snabbswitch,Igalia/snabbswitch,snabbco/snabb,SnabbCo/snabbswitch,snabbco/snabb,alexandergall/snabbswitch,eugeneia/snabb,eugeneia/snabbswitch,alexandergall/snabbswitch,alexandergall/snabbswitch,Igalia/snabbswitch,snabbco/snabb,SnabbCo/snabbswitch,snabbco/snabb,Igalia/snabbswitch,eugeneia/snabbswitch,snabbco/snabb,Igalia/snabb,eugeneia/snabb,dpino/snabbswitch,dpino/snabb,heryii/snabb,eugeneia/snabbswitch,SnabbCo/snabbswitch,snabbco/snabb,Igalia/snabb,alexandergall/snabbswitch,Igalia/snabb,alexandergall/snabbswitch,eugeneia/snabb,Igalia/snabbswitch,heryii/snabb,heryii/snabb,Igalia/snabbswitch,Igalia/snabb,dpino/snabb,Igalia/snabb,eugeneia/snabb,dpino/snabbswitch,Igalia/snabb,dpino/snabbswitch