added a type WidgetWire of pair of widget and wire tied together by the same id, new id are generated by a state monad
Merge pull request #30 from freiric/freshId2

added a type WidgetWire of pair of widget and wire tied together by the ...
merged state monads into one, simplified structure and examples