rust: add abstraction for vlc_tick_t and date_t v2
Revive of !3983 MR.
Adds abstractions for vlc_tick_t and date_t found in vlc_tick.h. The abstraction crate is vlcrs-tick with the raw bindings being generated from vlc_tick.h and outputted in vlcrs-tick.
The types added are:
-
vlc_tick_t->Tick(with each time unit having it's own unique type) -
date_t->Date
A new framework MaybeOverflow<T> for arithmetics on ticks is added to enforce the checks on overflows while using usual operations on them.