Hi,
Just in case anyone's interested, I've been writing a program called Laidout to lay out cartoon books of mine. It features sort of arbitrary impositions, including the ability to have non-rectangular pages. It does make a distinction between page, paper, and also page spreads (how it looks assembled, rather than how it looks on master printing pages). No art, trim, crop, bleed, and media box tags yet though.
It has a viewer window where you edit the things in the pages, and also a spread editor, where you can rearrange page orders. One of my TODO items for a long time has been to somehow port my spread editor (after it gets a little more advanced) to Inkscape. There are just not enough hours in the day!
Unless you happen to be me, Laidout's probably difficult to use, as everything's still in rough, primitive stages right now, but you can get the idea from these screenshots:
http://www.laidout.org/screenshots
I started writing Laidout years ago as an exercise to learn how to program better. It's been a much larger endeavor than I had at first been imagining, meaning the code's rather a mess, but I do get to lay out my books pretty easily!