A solution exactly like what you've just described is in the works. Zyocoin is a P2P Bitcoin exchange utilizing multi-signature issued "debt", where debt can be BTC, USD, EUR, or bananas.
Real contracts are created with verifiable blockchain-based timestamping.
Debt is issued with colored coins.
Ripple attempts to do something like this but I feel it must be done natively on the blockchain to see widespread acceptance.
Python programmers wanted. Send a BitMessage to BM-oq7iLGGH7e7JJaqiTcUj1qGQYxeZVo65b; IM zyocoin@jabber.org or join #zyocoin on Freenode.