I would advise to have a go at using a TWebBrowser component on a form (with Align=alClient), and doing most UI using HTML/CSS. There are a number of tricks to load content into the TWebBrowser, such as using "res://" URL's loading resources that have been included in the excutable.
By adding the MSHTML unit to the uses clause, you can use IHTMLDocument2 and related interfaces on the WebBrowser1.Document property to manipulate the DOM, much like Web2.0 websites do these days.