Support semantic highlighting of proof state

This isn't the Right Way, which would be to send all the structural
information, but it's straightforwardly achievable right now and an
improvement on what's there.
Merge pull request #208 from david-christiansen/keydef-file

Support semantic highlighting of proof state