From scratch? No way, it would take a team of engineers 10 years to perfect. So just slap in a WebBrowser instance into you application and use what's already there.
There are 2 browser wrappers for IE 9 supported in .NET
System.Windows.Forms.Browser = Has .NET support built in but is limited...
System.Windows.Controls.Browser = Is a MSHTML version of IE9 only, no .NET support...
Finally, in my opinion the best wrapper out there today is this one (By our good friend David Morton):
http://codinglight.blogspot.com/2009/07/webbrowser-implementation-that-actually.html
NOTE: As nice as David's code is, there are still times when you have to drop down to MSHTML layer. Be forewarned... It is my opinion that MSFT never really wanted to open up their browser all the way to anyone but themselves.. Because
it was written in non-managed code, it remains "over there" on the COM side of life and is better suited for C++ developers. However, us C# folks have learned a lot from the MSHTML classes over the years.
JP Cowboy Coders Unite!