Add n-ary compose experiments.

I can't find a way to take the (known to GHC to be injective)
successor of a 'GHC.TypeLits.Nat', and I can't make GHC use my nat
literals, for a roll-my-own nat type, at the type level.
Add latex proof tree examples.

The "better" proof tree package, bussproofs.sty, does not support
arbitrary premise arity! But, the older proof.sty does, so it looks
like we're in business.  In the long run, an Ascii proof processor
will probably be good too.
CP: Add untested 'ProofTree' processor.
CP: Add parser for STLC, as part of 'ProofTree' processor test.

The STLC is easy to parse, although without using a 'LanguageDef'
style parser I don't have any support for whitespace between tokens
... so, I went with single char var names for now.
CP: Add type checker for STLC.
CP: Add monad runners and helpers to STLC example.
CP: Add an STLC Latex pretty printer.
Put Makefile output in ./tmp; build proof-tree/Test.hs.
Add a 'ProofTree' instance and a 'main' pipeline.

The 'main' wraps the 'proofTree' output in a Latex document, so all
that remains is to run 'pdflatex'.
Add a mode index to the 'ProofTree' class.

The mode index and corresponding mode argument allow for different
proof tree printings of the same log stream.  This is useful in the
example to have modes with and without proof terms.
Make STLC 'ProofTree' example optionally suppress proof terms.
Add helper script for running proof-tree test.
Add starting-context support to STLC example.
Tweak Latex in STLC example: smaller and more slender.
Improve proof-tree helper script and add tests to make file.
Tweak Latex and build context in snoc order.
Add more tests and reduce Latex margins.

Can't quite make the typeable YC example fit ...
Clean up: remove unnecessary GHC extensions; wibbles.