This is exactly what I've been working on, and it's definitely doable.
The only real challenges are making sure you shut down the WEBrick
process appropriately; you have to do some slightly tricky stuff with
delaying both the closing of the server process and the browser window,
since WEBrick won't shut down while there are still persistent HTTP
connections lying around.

On Windows, the best solution I found was actually to use the win32ole
module to spawn an IE instance through OLE, and control it from the
server side. That way, you can have the server shut the browser down
when needed. For Linux, I do something similar using a forked child
process and the Mozilla command-line '-remote' interface.

Using an HTA wrapper around your content also works, though the only
real advantage I've found is the ability to "lock down" the window so
that it can't be resized, navigated using back/forward buttons, etc.

I'm going to try to get some of the general-purpose code (basically,
the "browser control" library, and some of the remote scripting
infrastructure) cleared for release under an open license, but I'm not
sure if the legal guys will go for it. I would be happy to answer
questions about places where you get stuck, though.