Client rendering, server rendering, and hydration: what each one actually costs, and how to tell which your app needs.