Hm, is this a leading question for our developers? My first guess is you would want to use the REST API to launch searches and acquire the results of those searches. This is a data access method, in a sense, and does not incorporate the ideas of display or formatting.
I would say that mixing your own UI with Splunk UI, either in client-side or server-side code, will be completely unsupported, and probably extremely difficult, and not likely to be something that will ever be easy with the current UI framework. I would say that it would be in fact easier to the REST API, or if not, to use an SDK for whatever web development platform you are using. If one doesn't exist, then I would agitate either Splunk or the community for one.
But if anyone out there wants to play around with things, you can read some of the source code. For fun you can run a search in the main search UI, and then use firebug's JS console to run things like:
header = Splunk.Globals.ModuleLoader.getModuleInstanceById("ResultsHeader_2_9_2"); search = header.getContext().get("search");
("ResultsHeader_2_9_2" is just the id of one of the modules in the flashtimeline view)
Once you have that search object you can get the working urls to access events, results, timeline, summaries. And if you're familiar with good old jquery you would just hit those URL's to get the actual data .
as for newing up a new Search object and dispatching it and binding event handlers to do something custom, in a perfect world this would be easy. In the real world the first two are super easy but the last one would be annoyingly difficult to do from outside the framework so I'll spare you.