VGA and HDMI out are now working nicely. I couldn’t get xrandr to work (I suspect I could with more fiddling though). Instead I’m using Nvidia’s TwinView which supports multiple monitor configurations nicely. I’ve tested it on an external TFT monitor and a widescreen TV (via HDMI) and both worked fine.

Turns out that some parts of the xorg.conf I posted earlier were redundant. You can use HAL to detect the screens, monitors, etc. All you actually need is a section to force the use of the nvidia driver like this: