support for constraints in handler definition

Hi Sam,
I was getting to grips with the library and needed to put a constraint in the handler for the normal Writer monad, but this wasn't supported. So I added it. The Writer.hs example shows its use.  

The 'makeHandlerDef' function makes used of this. I didn't need to do anything with 'makeOpDefs' to make my example work, but maybe for other examples there will need to be some handling by 'makeOpDefs'? I couldn't tell. 

Cheers,
Dominic