Impulse and Continue modules

+ refactor modules and module registration
+ consult modules on events
+ factor out live.colors patch
+ push timing logic into player + modules