This turned out to be quite easy and a big win.
Created attachment 17979 [details] patch
Ignore the stuff in DRT, that was not intended to be there.
Comment on attachment 17979 [details] patch Scratch that, there seems to be an invalidation error I missed. Will return shortly.
Created attachment 17982 [details] second try This time with less test failures!
Comment on attachment 17982 [details] second try r=me
Landed in r28868.