Dan
You may want to look here for some controller ideas (and plenty of other info to distract you!):
http://home.cogeco.c...rcuitIndex.html
But to answer your question - I built this a few years ago:
http://users.rcn.com...tcl/ccartcl.htm
which ticks most of your boxes and was used extensively on an American HO modular club layout, hence had to cope with a wide variety of mechanisms - old and new.
The only changes I made were to the momentum resistor values (as suggested in the text) as we found for our purposes there was too much delay/momentum; you could practically go off and make a cup of tea
before some locos really got going! Hence suggest fine tuning values to suit. Controller worked well and has now been passed on as we graduated to DCC....
John