added System module that handles dispatching system events. I set it up so system event dispatching clears listeners. This is because right now there is only one system event, and it is only used to deal with late binding of controller listeners. I need to clear them b/c controller listener are typically gonna be bound onload of a template, which will fire multiple times. I only need interpolate_done events to fire once when the interpolation that is related to this particular onload is finished. If I didn't clear I would have interpolate_done listeners from the last onload firing as well as the current.