Delegate based colouring

I have added delegate based colouring to see if it can avoid the need to have a customised framework in your case. I implemented this first rather than promoting subclassing of SMLSyntaxColouring as it is quite simple. See the README.md and the sample code for details.

If needs be we can approach SMLSyntaxColouring subclassing. The class would need refactored though I think to provide convenient override methods.

We have merged recently but a couple of your changes were too specific too your usage case.