Preserve view ordering with varying render delays

The one thing I don't like about this approach is that sub-views are being rendered in series. Ideally, we should render them (asynchronously) in parallel and then insert them (synchronously) in series. I'm still getting familiar with the source, so this may be a non-trivial change. What do you think, @tbranyen?

(commit message follows)

Because sub-views may have independant rendering delays, the parent view
must wait for each view to complete rendering before inserting the next.

This addresses the issue first identified by @peterjmit in issue #261.