Updates the formatting algorithm to measure and report the sizes of its components as it's rendering. Adds an asynchronous flag in the formatters and renderers to control whether they run synchronously or asynchronously.