Added std::__throw_bad_function_call() to use std::function objects without nullptr checks
Added a simple hardware timer driver