Update 8254 code to fit with "driver" model

Also isolates system timer from its source