Move brushing code into ggvis.Plot.Brush namespace

Also, add registry of brushing callback functions
Register updateBrush as a callback
Switch to Array.filter function and properly check for empty