WIP: Fixup app boot

Warning I am tired so this is still WIP.

So if domReady has already passed, jQuery.ready is synchronous. This means that if you create an Application after domReady and expect to defer its readiness, then you are going to have a bad time.

The general goal is to utilize the run loop correctly, allowing typical app boot to behave consistently, regardless of domReady.