WIP: payments reorganisation

Basic cash and card payments now work again.  Bitcoin hasn't been
updated yet.  Refunds are not yet working, and odd things happen if
payments are committed to a transaction which has been moved to a
different page.

We probably need to deliver payment events as a broadcast to all
register pages rather than direct to the page that initiated the
payment.