[HttpKernel] refactored the HTTP content renderer to make it easier to extend