Broken, but need to commit before cherry-picking
Start writing game loop, unsuccessfully try to write MFunctor instance for DecodeT

Conflicts:
	Reinforcement.hs
Restore infinite loop to study.hs.

I note that restoring the old DecodeT fixed the memory leak: in that case it
looks like I should refactor the Arithmetic module so all the monad stuff just
uses StateT.