Add ability to track connections

One interesting use case for this is to only do expensive
operations if something is connected to the signal:

--   item:connect_signal("connection",function(_,name,count)
--     if name == "mouse::move" and count == 0 then
--       widget:connect_signal("mouse::move",conn)
--     end
--   end)
--   item:connect_signal("disconnection",function(_,name,count)
--     if count == 0 then
--       widget:connect_signal("mouse::move",conn)
--     end
--   end)