Update dependencies.
CP: Implement 'simpleLogger', up to realizing my use of 'Typeable' is doomed.

I've use a 'Typeable' constraint to make the parser type safe, by
allowing it to 'cast' the 'Signature' call tag in order to be sure
that a 'BeginCall' and an 'EndCall' really correspond to the same call
tag.  However, there's no hope of making the

  Proxy (SimpleCall _ _ _ _)

an instance of 'Typeable', since that that makes the library hard to
use, since the user then has a 'Typeable' constraint on their function
signatures.  It turns out that the use of non-'*'-kinded type params
also precludes deriving 'Typeable', and so the use of 'Symbol' is also
an issue here, but that's not the real problem.

However, it's not hard to work around this: just wait until after the
function returns to log it's 'EndCall', and put all the arguments in
the end call.  I'll lose the identification of ill-formed log-event
streams, which was based on imbalanced call tags -- using 'cast' to
check for type equality, which doesn't work now that we lose
'Typeable' on the call tags -- but this doesn't seem like a big loss,
especially since I expect to only use auto generated event streams,
and so they'll only be messed up if my auto logging code is messed up.

It occurs to me now that I shouldn't in general assume we're in a
writer monad. I was thinking that's the only way someone would log,
but of course mutable logging in 'State' or 'IO' is also reasonable.
Since 'IO' is not defined as a transform of 'Identity', I 'IO'
instances for 'UncurryM' and friends. To come ...
Add uncurry and collect call support for 'IO ~ GetMonad t'.

I.e., 'IO' is not defined in terms of a monad transformer, so my
transformer instance doesn't cover it.  Supporting 'IO' is useful,
since it could be used for mutable logging -- so far I'd only been
considering pure logging in a writer monad.
Add a make file.

Manually tell GHC to build all the source files, since the tests in
'Test' are far from exhaustive ...
Add support for state arguments and remove need for 'Typeable'.

The rationale for removing 'Typeable' was given in 24bee78.

The state arguments are 'before' and 'after', corresponding to state
before and after the call.  See updated 'simpleLogger' for usage.
Fix warnings.
Update 'Test.hs' to handle state arguments.
Add auto logging example!

Well, I didn't actually print the log yet, so this is not proof that
it works ... but first I'd like to avoid having to give the example
code twice.
Deduplicate test code and print auto logged trace.

Quite elegant me thinks!

This proves that it works -- well, at least the logging.  I still need
to write a post processor, but the indent tree and latex proof style
processors are already sketched on paper and I think they should be no
problem. Famous last words ... but now I should sleep.