A engine
Pois bem, a parte mais importante de um navegador é a engine (motor). O .Net traz nativamente o controle Webbrowser que é, somente, uma implementação gerenciada da Trident Engine, motor do Internet Explorer.Mas temos também uma segunda opção, estou falando do projeto Awesomium, um motor baseado no projeto Chromium (Google Chrome). O Awesomium tem um potencial muito grande, e oferece algo realmente decente para WPF, mas também é compatível com o Windows Forms, claro.
Se você está querendo criar um navegador baseado na Trident veja este ótimo artigo: Working with the Web Browser Control in Visual Studio 2005 - IE7Clone
Mas se irá se aventurar no Awesomium, basta somente conferir o vasto material encontrado no site do projeto.
Os favoritos
Uma forma simples de implementar os favoritos em seu navegador é através de uma barra de favoritos usando um componente ToolStrip para Win Forms, ToolBar ou StackPanel para WPF. Cada favorito será representado por um botão com imagem.
O armazenamento pode ser feito através de um banco de dados xml com o uso de um DataSet. As imagens podem ser armazenadas também, apenas convertendo-as para texto string básico, ou seja, Base64 String.
O histórico
Existem diversas formas de apresentar o histórico ao usuário, através de um controle TreeView por exemplo. A forma de armazenamento pode ser a mesma citada anteriormente, ou um banco de dados mais robusto como o SQL por exemplo.
As abas (Guias)
Bom, isso é complicado se tratando de Win Forms, mas se for WPF é algo muito simples! Na minha opinião, o melhor controle de guias disponível na net para o Win Forms e adequado para um navegador é o desse projeto: Painting Your Own Tabs - Second Edition.
Gerenciador de downloads
Um navegador que se preze deve possuir um bom gerenciador de downloads. Encontrei o projeto A Multi-thread C# Segmented Download Manager escrito em C#. Infelizmente não consegui encontrar nada de qualidade semelhante para o vb.net, mas você poderá usar um conversor c# para vb.net para lhe auxiliar nesta empreitada.
Conclusão
Como evidenciado, criar um navegador web não é algo simples, mas também não é impossível. Com estudo e dedicação com certeza é possível, pode levar algum tempo, mas é possível. O meu objetivo,basicamente, era, através deste artigo, reunir as informações necessárias para conseguir fazer um bom navegador. Se esqueci de algo importante por favor comentem.