Use WeakBindingSet to manage inspector connections

The sky inspector service wants to implement a 1:N broadcast interface with whichever
frontends want to connect. This manages the pipes using a WeakBindingSet, which is a set of
bindings owned by the pipe combined with a list of weak pointers to those bindings allowing
sending messages to all connected clients without having to explicitly keep track of
which clients are connected at a particular point in time.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/711413005