Updated widget initialization

to now use the same timeout event cycle for all widget's that were
initialized from the previous event cycle.
Instead of causing angular to $digest for every single widget, it should
only need to digest once per set of widgets.