create initial i3monitor and tests
fix throttle out channel not being closed

I was breaking out of the select statement not the for loop previously
and so the loop kept going and this created the weird double closes
update throttle to use i3ipc events instead of ints
update i3monitor to receive throttled workspace change events
update to a different i3ipc lib that is more up to date
update i3monitor to get window updates instead of workspace ones