create timer class

This class is implemented by wrapping the std::chrono's clock system.
For this reason, the time duration type of used clock has a risk of the
type different problem according to the compiled operating system.
now engine support run, pause, resume, halt

timer is added into engine and other time-dependent methods