Timer hal interface fix

- timer interface separated into 3 different structure
  because timer has generic characteristic in its operation