Clean up instantiation and initialization

This change waits for all views to be created before binding handlers
or sending events. This fixes a ton of edge cases around binding to
views that previously wouldn’t have been created yet.
[Delivers #84245714]
[Delivers #79651666]
[Delivers #79651666]
[Delivers #82138048]
[Delivers #84258034]
Merge pull request #91 from teem2/cleanupinit

Clean up instantiation and initialization