I can't see why it wouldn't work, you only need a couple variables to store the running time, start off with blink without delay example then create a variable for starttime, endtime,totalruntime, startidle, stopidle, totalidle and subtract/add the differences. making sure that if the idle button is pressed multiple time it keeps track of all of the total idle time.