Como renderizar o elemento HTML sem usar o navegador da web?

xiste uma maneira de desenhar conteúdo de elemento HTML específico em uma tela sem usar nenhum controle do navegador da We

Com esse código, estou renderizando o elemento na tela do formulário (apenas como exemplo
Funciona, porém, mas esse código não é uma boa prática - veja abaixo, por que ...

uses
  SHDocVw, MSHTML;

procedure TForm1.Button1Click(Sender: TObject);
var
  WebBrowser: TWebBrowser;
  HTMLElement: IHTMLElement;
  HTMLRenderer: IHTMLElementRender;
begin
  WebBrowser := TWebBrowser.Create(nil);
  try
    WebBrowser.ParentWindow := Application.Handle;
    WebBrowser.Navigate('https://stackoverflow.com/questions/2975586/good-delphi-blogs');

    while WebBrowser.ReadyState < READYSTATE_COMPLETE do
      Application.ProcessMessages;

    HTMLElement := (WebBrowser.Document as IHTMLDocument3).getElementById('question');
    HTMLRenderer := (HTMLElement as IHTMLElementRender);
    HTMLRenderer.DrawToDC(Canvas.Handle);

  finally
    HTMLElement := nil;
    HTMLRenderer := nil;
    WebBrowser.Free;
  end;
end;

É ruim porque

it usa o @ ocul TWebBrowser control, mas eu gostaria de carregar o documento HTML diretamente através do IHTMLDocument interface e renderizar certo elemento na minha própria telase eu criar e carregar o IHTMLDocument manualmente, por exemplopor aqu então o método renderizador IHTMLElementRender.DrawToDC não pinta nada (talvez porque não exista tela para renderização do documento) pior ainda é que IHTMLElementRender.DrawToDC está obsoleto no momento, então estou procurando um método alternativo para renderizar elementos na minha própria tela

Existe uma maneira limpa de resolver isso usando o MSHTM

questionAnswers(3)

yourAnswerToTheQuestion